Skip to content

Latest commit

 

History

History
39 lines (26 loc) · 2.5 KB

README.md

File metadata and controls

39 lines (26 loc) · 2.5 KB

Rate-Distortion Optimization with Spark + FFmpeg

Streaming video efficiently relies on encoding at multiple resolution/bitrates to accomodate network conditions by switching adaptively.

Video engineers search a grid of bitrate/resolution to maximize percieved quality using a metric like VMAF via Convex Hull optimization.

This search is expensive but worth the cost for video streamed over and over to many devices.

Extrapolating from fewer computations helps but we are most interested in points near the Pareto Frontier.

We explore ideas presented by Netflix to segment video at the shot-level and combine interpolation with content-based regression to reduce the search further.

Getting Started

The notebooks in the notebooks/ directory are available to Databricks users at these links:

Requirements

Resources