On-device multiplexing of streaming media content
AssigneeNetflix, Inc.
InventorsDavid Randall Ronca, Chung-Ping Wu, Yung-Hsiao Lai
Life of this patent
Estimating the term…
Abstract
Techniques are disclosed for multiplexing a dynamic bit-rate video stream with an audio stream received by a client device in a manner that allows the resulting multiplexed stream to be played back without disruption, despite dynamic changes in the bit rate of the video stream that may occur. A content server may stream both a video stream and an audio stream to a client device for playback. The client device may multiplex the video and audio streams prior to them being presented to a playback engine for decoding and playback to a user.
Claims20
A computer-implemented method, comprising:
- identifying within each portion of video data included in a first video encoding of a media file one or more insertion points where a sub-portion of video data is multiplexed with a sub-portion of audio data, wherein the first video encoding comprises the media file encoded at a first bit rate;
- generating a first file header for the first video encoding that includes an indication of a position of each insertion point within the first video encoding;
- generating a second file header for an audio encoding of the media file that includes an indication of a position of each point within the audio encoding where a sub-portion of audio data is multiplexed with a sub-portion of video data;
- and
- storing the first video encoding and the audio encoding file for transmission to the client device, wherein the client device is configured to multiplex transmitted sub-portions of video data with transmitted sub-portions of audio data based on the indications of the positions of the insertions points included in the first file header and the indications of the positions of the points included in the second file header.
A non-transitory computer-readable storage medium including instructions that, when executed by a processor, cause the processor to encode a media file by performing the steps of:
- generating a first file header for a first video encoding of a media file that includes an indication of a position of each insertion point within the first video encoding where a sub-portion of video data is multiplexed with a sub-portion of audio data;
- generating a second file header for an audio encoding of the media file that includes an indication of a position of each point within the audio encoding where a sub-portion of audio data is multiplexed with a sub-portion of video data;
- and
- storing the first video encoding and the audio encoding file for transmission to the client device, wherein the client device is configured to multiplex transmitted sub-portions of video data with transmitted sub-portions of audio data based on the indications of the positions of the insertions points included in the first file header.
A server machine, comprising:
- a memory that includes an encoding tool;
- a storage element that includes a first video encoding of a media file and an audio encoding of the media file for transmission to a client device, wherein the first video encoding includes a plurality of portions of video data, and the audio encoding includes a plurality of portions of audio data;
- and
- a processor coupled to the memory and the storage element, wherein, when executed by the processor, the encoding tool configures the processor to:
- generate a first file header for a first video encoding of a media file that includes an indication of a position of each insertion point within the first video encoding where a sub-portion of video data is multiplexed with a sub-portion of audio data, and
- generate a second file header for an audio encoding of the media file that includes an indication of a position of each point within the audio encoding where a sub-portion of audio data is multiplexed with a sub-portion of video data,
- wherein the client device is configured to multiplex transmitted sub-portions of video data with transmitted sub-portions of audio data based on the indications of the positions of the insertions points included in the first file header.
Dependencies are inferred from the claim text.