CPC H04N 21/2662 (2013.01) [H04L 65/764 (2022.05); H04N 21/23439 (2013.01); H04N 21/2402 (2013.01)] | 20 Claims |
1. A method comprising:
ingesting a video;
extracting a set of video features representing properties of the video;
generating a set of bitrate-resolution pairs for the video based on the set of video features, each bitrate-resolution pair in the set of bitrate-resolution pairs:
defining a bitrate; and
defining a resolution predicted to yield a quality score within a target quality score range for the video encoded at the bitrate and the resolution;
accessing a distribution of audience bandwidths representative of likely viewers of the video;
selecting a subset of bitrate-resolution pairs, from the set of bitrate-resolution pairs, based on the distribution of audience bandwidths;
generating an encoding ladder comprising the subset of bitrate-resolution pairs;
transmitting a manifest file representing the encoding ladder to a first playback device prior to transcoding a first playback segment in the video;
receiving a first request for the first playback segment, at a first bitrate-resolution pair in the encoding ladder, from a first playback device based on the manifest file; and
in response to detecting absence of video segments, at the first bitrate-resolution pair and corresponding to the first playback segment, in a first rendition cache:
identifying a first set of mezzanine segments, in the video, corresponding to the first playback segment;
assigning the first set of mezzanine segments to a set of workers for transcoding into a first set of video segments according to the first bitrate-resolution pair;
storing the first set of video segments in the first rendition cache; and
based on the first request, releasing the first set of video segments to the first playback device.
|