Methods and systems for providing a hybrid bitrate stream of digital content
Systems and methods are described for providing hybrid streams of digital content. Device network parameters, comprising a bitrate capacity, are determined, for receiving a hybrid stream of digital content. A first stream of the digital content is selected based on the network parameters, each stream stored at a storage and associated with corresponding encoding parameters indicative of a bitrate. A bitrate differential is determined between the bitrate capacity and a first bitrate of the first stream. First encoded video frames of the first stream and second encoded video frames of a second stream are determined based on the bitrate differential, the second stream encoding parameters indicative of a second bitrate higher than the first bitrate. The hybrid stream is constructed to comprise the first encoded video frames and the second encoded video frames. The hybrid stream is provided for presentation of the digital content at the device.
1 . A method of providing hybrid streams of digital content, the method comprising:
determining one or more network parameters of a device configured to receive a hybrid stream of video frames of a digital content, the one or more network parameters comprising a bitrate capacity;
selecting, based on the one or more network parameters, a first stream from a plurality of streams of the digital content, each stream of the plurality of streams stored at a storage and associated with a corresponding one or more encoding parameters used to encode the video frames, the one or more encoding parameters indicative of a bitrate;
determining a bitrate differential between the bitrate capacity and a first bitrate of the first stream stored at a storage;
determining based on the bitrate differential: (i) a first one or more encoded video frames of the first stream stored at a storage, and (ii) a second one or more encoded video frames of a second stream of the plurality of streams stored at a storage, the second stream associated with one or more encoding parameters indicative of a second bitrate higher than the first bitrate;
constructing the hybrid stream comprising the determined first one or more encoded video frames of the first stream and the determined second one or more encoded video frames of the second stream; and
providing the hybrid stream for presentation of the digital content at the device.
2 . The method of claim 1 , wherein the one or more encoding parameters comprises one or more selected from the group: a resolution; a frame rate; a quantization level; a group of pictures structure; a quality metric;
wherein the first stream is associated with a first encoding parameter indicative of the first bitrate, and the second stream is associated with a second encoding parameter indicative of the second bitrate higher than the first bitrate.
3 . The method of claim 1 , wherein at least one of the determined video frames of the second stream is an independently decodable frame.
4 . The method of claim 1 , further comprising:
determining, based on the bitrate differential, a threshold number of video frames of the second stream;
wherein determining the second one or more encoded video frames of a second stream is based on the threshold number.
5 . The method of claim 1 , wherein determining the first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream comprises:
determining, based on the bitrate differential, a threshold temporal distance between a first video frame of the second stream and a second video frame of the second stream; and
determining, based on the threshold temporal distance, the first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream for constructing the hybrid stream.
6 . The method of claim 1 , wherein determining the first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream comprises:
determining a quality metric associated with the video frames of the first stream and the video frames of the second stream;
determining a difference between the quality metric of the video frames of the first stream and the quality metric of the video frames of the second stream; and
determining, based on the difference, the first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream for constructing the hybrid stream.
7 . The method of claim 1 , wherein determining the first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream comprises:
determining one or more visual characteristics of the video frames of the first stream; and
determining, based on the one or more visual characteristics, the first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream for constructing the hybrid stream.
8 . The method of claim 1 , wherein providing the hybrid stream comprises:
streaming the determined first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream to the device.
9 . The method of claim 1 , wherein providing the hybrid stream comprises:
modifying a manifest file associated with the digital content to identify the determined first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream.
10 . A method of receiving hybrid streams of digital content, the method comprising:
determining one or more network parameters of a device configured to receive a hybrid stream of video frames of a digital content, the one or more network parameters comprising a bitrate capacity;
communicating the one or more network parameters to a server for selecting, based on the one or more network parameters, a first stream from a plurality of streams of the digital content stored at a storage of one or more server devices, each stream of the plurality of streams associated with a corresponding one or more encoding parameters used to encode the video frames, the one or more encoding parameters indicative of a bitrate;
receiving, after communicating the one or more network parameters and based on a bitrate differential between the bitrate capacity and a first bitrate of the first stream, a hybrid stream including: (i) a first one or more encoded video frames of the first stream stored at a storage; and (ii) a second one or more encoded video frames of a second stream of the plurality of streams stored at a storage, the second stream associated with one or more encoding parameters indicative of a second bitrate higher than the first bitrate; and
displaying each of the received first one or more encoded video frames of the first stream and the received second one or more encoded video frames of the second stream to provide the hybrid stream of digital content.
11 . A system for providing hybrid streams of digital content, the system comprising control circuitry configured to:
determine one or more network parameters of a device configured to receive a hybrid stream of video frames of a digital content, the one or more network parameters comprising a bitrate capacity;
select, based on the one or more network parameters, a first stream from a plurality of streams of the digital content, each stream of the plurality of streams stored at a storage and associated with a corresponding one or more encoding parameters used to encode the video frames, the one or more encoding parameters indicative of a bitrate;
determine a bitrate differential between the bitrate capacity and a first bitrate of the first stream stored at a storage;
determine based on the bitrate differential: (i) a first one or more encoded video frames of the first stream stored at a storage, and (ii) a second one or more encoded video frames of a second stream of the plurality of streams stored at a storage, the second stream associated with one or more encoding parameters indicative of a second bitrate higher than the first bitrate;
construct the hybrid stream comprising the determined first one or more encoded video frames of the first stream and the determined second one or more encoded video frames of the second stream; and
provide the hybrid stream for presentation of the digital content at the device.
12 . The system of claim 11 , wherein the one or more encoding parameters comprises one or more selected from the group: a resolution; a frame rate; a quantization level; a group of pictures structure; a quality metric;
wherein the first stream is associated with a first encoding parameter indicative of the first bitrate, and the second stream is associated with a second encoding parameter indicative of the second bitrate higher than the first bitrate.
13 . The system of claim 11 , wherein at least one of the determined video frames of the second stream is an independently decodable frame.
14 . The system of claim 11 , wherein the control circuitry is further configured to:
determine, based on the bitrate differential, a threshold number of video frames of the second stream;
wherein determining the second one or more encoded video frames of a second stream is based on the threshold number.
15 . The system of claim 11 , wherein determining the first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream comprises:
determining, based on the bitrate differential, a threshold temporal distance between a first video frame of the second stream and a second video frame of the second stream; and
determining, based on the threshold temporal distance, the first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream for constructing the hybrid stream.
16 . The system of claim 11 , wherein determining the first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream comprises:
determining a quality metric associated with the video frames of the first stream and the video frames of the second stream;
determining a difference between the quality metric of the video frames of the first stream and the quality metric of the video frames of the second stream; and
determining, based on the difference, the first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream for constructing the hybrid stream.
17 . The system of claim 11 , wherein determining the first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream comprises:
determining one or more visual characteristics of the video frames of the first stream; and
determining, based on the one or more visual characteristics, the first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream for constructing the hybrid stream.
18 . The system of claim 11 , wherein providing the hybrid stream comprises:
streaming the determined first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream to the device.
19 . The system of claim 11 , wherein providing the hybrid stream comprises:
modifying a manifest file associated with the digital content to identify the determined first one or more encoded video frames of the first stream and the second one or more encoded video frames of the second stream.