H04N21/23608

Method of decoding an incoming audio/video stream

A method of decoding an incoming audio/video stream received by a decoder box that is connected to audio playback equipment and to video playback equipment, the method comprising the steps of evaluating an audio latency and a video latency; if the audio (or respectively video) latency is greater than the video (or resp. audio) latency, testing a first condition to ensure that the time difference (Δt_a, Δt_v) between the presentation time stamp of the audio (or resp. video) samples and the reference clock signal is sufficient, and if the first condition is satisfied, acting, when decoding the audio (or resp. video), to decrease the presentation time stamp of the audio (or resp. video) samples in order to advance playback of the audio (or resp. video) samples, thereby compensating at least in part the latency difference between the audio (or resp. video) latency and the video (or resp. audio) latency.

Jitter management in a statistical multiplexer employing an IP network

A statistical multiplexer is provided with a series of encoders that encode media streams at different bitrates to reduce jitter. The encoded media streams are transmitted to a multiplexer over a network and experience jitter that is reduced by a de-jitter arrangement. The multiplexer rearranges a transmit time of select packets in select ones of the media streams received over the network when a total group bandwidth available on the transmission channel over which the multiplexed media stream is to be transmitted is less than a sum of the bandwidths of the media streams because of the jitter and de-jitter process experienced by the media streams. The rearranging causes the bandwidth of the multiplexed media stream to be no greater than the total group bandwidth of the transmission channel without exceeding a maximum bit rate at which each individual encoded media stream is configured.

Transport stream automatic change over

A device, system, and method perform an automatic change over for transport streams. The method is performed at an output server. The method includes selecting a first transport stream. The method includes generating a first portion of an output based on the first transport stream. The method includes selecting a second transport stream. The method includes determining a frametime to synchronize first packets of the first transport stream to second packets of the second transport stream. The frametime is based on a start time of a content item included in the first transport stream and the second transport stream and a completed progression of the content item using the first transport stream. The method includes determining a location in the second transport stream based on the frametime. The method includes generating a second portion of the output based on the second transport stream starting at the location.

DYNAMIC VISUAL WATERMARK FOR STREAMING VIDEO
20230345064 · 2023-10-26 ·

Systems and methods provide features in streaming media and video distribution by taking streaming video, including video-on-demand and live streams, and applying a dynamic visual watermark as desired by the content owner or broadcaster. The dynamic visual watermark can be a visible watermark that can be generated for each stream, viewer, or user. The techniques can retain the quality of the stream, make anti-piracy implementation feasible (typically about 1% of the cost of conventional techniques), work on live streams, work with any choice of vendor for cloud platforms, DRM providers, or other watermarking vendors, and does not require huge setup and integration to make it work. The video streaming solutions provides a tool to the broadcasters to mark every stream if desired. The video streaming solutions can be burnt in at the server-side and can be platform agnostic to the cloud platforms, software, and networks.

Systems and methods for providing optimized time scales and accurate presentation time stamps

The disclosed computer-implemented method includes determining, for multiple different media items, a current time scale at which the media items are encoded for distribution, where at least two of the media items are encoded at different frame rates. The method then includes identifying, for the media items, a unified time scale that provides a constant frame interval for each of the media items. The method also includes changing at least one of the media items from the current time scale to the identified unified time scale to provide a constant frame interval for the changed media item(s). Various other methods, systems, and computer-readable media are also disclosed.

SYSTEMS AND METHODS FOR PLAYOUT OF FRAGMENTED VIDEO CONTENT
20220256214 · 2022-08-11 ·

A playout system for providing playout of fragmented video content is provided. The system includes a non-transitory data store and a processor. The processor is configured to playout content for video origination using a fragmented format. The processor can receive a playlist and generate a plurality of video fragments from source content. A transcoder can process video fragments based on one or more program scheduling requirements from the playlist to generate new video fragments. A manifest is updated to reference the new video fragments. The process can output a video stream based on the new video fragments.

TIMECODE GENERATION AND ASSIGNMENT

A timecoding technique for determining and assigning timecodes for variable frame rate video. Content identified for timecode assignment is decoded, and for sequential frames of the content, portions of timestamps are compared to determine if the frames are from a same time period (e.g., from the same second in time). For a subsequent frame from the same time period, an index is atomically incremented, a timecode generated from a combination of the time period and the index, and the timecode assigned to the frame. For a subsequent frame from a different time period, the index is initialized, a timecode generated from a combination of the different time period and the initialized index, and the timecode assigned to the frame. Accumulated durations of frames may be used in place of timestamps, in some instances.

Systems and methods for playout of fragmented video content

A playout system for providing playout of fragmented video content is provided. The system includes a non-transitory data store and a processor. The processor is configured to playout content for video origination using a fragmented format. The processor can receive a playlist and generate a plurality of video fragments from source content. A transcoder can process video fragments based on one or more program scheduling requirements from the playlist to generate new video fragments. A manifest is updated to reference the new video fragments. The process can output a video stream based on the new video fragments.

Video and audio demultiplexing from a file stored in a remote storage medium

A first set of blocks is caused, by a first computer system, to be downloaded from a file located on a second computer system. A second set of blocks to download from the file is identified, based at least in part on the first set of blocks. A subset of the second set of blocks that are not in a cache of the first computer system are determined. For each determined block in the subset, an available thread is assigned from a thread pool to the determined block, the available thread is caused to download, in concurrence with blocks being downloaded by threads assigned to other determined blocks of the subset, the determined block from a second computer system into the cache of the first computer system.

DATA DISTRIBUTION SYSTEM, METHOD AND COMPUTER-READABLE STORAGE MEDIUM
20210337038 · 2021-10-28 ·

A data distribution system includes: an edge stream-pushing server configured to receive streaming media data packets sent by a stream pusher, serialize the streaming media data packets, and forward the serialized streaming media data packets to a plurality of central servers; a central server configured to cache the serialized streaming media data packets, if a serialized back-to-source request from the edge stream-pulling server is received, determine, a start position of to-be-transmitted streaming media data packets according to the serialized back-to-source request, and send the cached streaming media data packets to the edge stream-pulling server according to the start position; and an edge stream-pulling server configured to deserialize received streaming media data packets to restore the received streaming media data packets, and send the restored streaming media data packets to a user terminal.