A method includes receiving analytics data from a first plurality of network components of a stream network. The analytics data is associated with the first plurality of network components streaming first chunks of a first live stream. The method also includes determining a network parameter based on the analytics data. The network parameter includes one or more live stream parameters, a distribution plan, or a combination thereof. The method further includes reconfiguring, based on the network parameter, at least a first network component of the first plurality of network components. Second chunks of the first live stream are streamed by a second plurality of network components subsequent to the reconfiguring of the first network component.
H04N 21/647 - Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load or bridging bet
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
3.
Artificial intelligence analysis of multimedia content
A method includes receiving video segments from a transcoder of a media device. The video segments are associated with multimedia content. The method further includes detecting, during a delay associated with the multimedia content and using an artificial intelligence (AI) technique, a particular representation in at least one of the video segments. The method further includes generating metadata associated with the particular representation and sending the metadata to a multimedia player to enable the multimedia player to modify playback of the multimedia content based on the metadata.
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/8352 - Generation of protective data, e.g. certificates involving content or source identification data, e.g. UMID [Unique Material Identifier]
A method includes providing to a media device, prior to streaming of a first live stream, an indication of a test of the first live stream. The indication initiates streaming of a second live stream from the media device to a test audience, and the test audience is based on one or more of an estimated number of viewers of the first live stream, an estimated plurality of locations of the viewers, or an estimated join rate associated with the viewers. The method further includes receiving quality of service (QoS) data associated with the second live stream. The method further includes providing to the media device, based on the QoS data, a message indicating one or more live stream parameters to use during streaming of the first live stream.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
5.
Systems and methods of communication using a message header that includes header flags
A method includes generating, at a first computing device, a header for media packets, the header including a header flag in a first portion of the header and a variable length header field in a second portion of the header, the first portion contiguous to the second portion, wherein the header flag includes a value indicating a length of the header field. The method also includes generating a body for the media packets, generating the media packets based on the header and the body, generating a protocol report based on media data, and sending the media packets and the protocol report to a second computing device. The protocol report includes information to enable the second computing device to account for successful receipt of the body of the media packets by the second computing device.
H04L 65/403 - Arrangements for multi-party communication, e.g. for conferences
H04L 69/324 - Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
H04N 21/2362 - Generation or processing of SI [Service Information]
H04N 21/431 - Generation of visual interfaces; Content or additional data rendering
6.
Adjusting encoding frame size based on available network bandwith
A method includes reducing, at an encoder, an encoding bit rate of video data in response to a first indication of available bandwidth for transmission of the encoded video data. The method includes reducing an encoding frame size of the video data in response to the encoding bit rate falling below a first threshold. The method also includes increasing the encoding bit rate in response to a second indication of the available bandwidth. The method further includes increasing the encoding frame size in response to the encoding bit rate rising above a second threshold. The second threshold is greater than the first threshold.
H04N 19/152 - Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
H04N 19/184 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
H04N 19/196 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
H04N 19/132 - Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
H04N 19/115 - Selection of the code volume for a coding unit prior to coding
H04N 19/164 - Feedback from the receiver or from the transmission channel
A method includes receiving an input media stream at a hardware encoder. The method also includes executing, at a processor of the hardware encoder, a headless browser to retrieve an instance of a dynamic web page that includes additional content. The method also includes storing the additional content at a memory that is accessible to the processor and encoding circuitry of the hardware encoder. The method further includes retrieving, at the encoding circuitry, the additional content from the memory and encoding the input media stream to generate an output media stream. At least one frame of the output media stream includes at least a portion of the additional content in conjunction with at least a portion of a corresponding frame of the input media stream.
A method includes receiving an input media stream at a hardware encoder. The method also includes executing, at a processor of the hardware encoder, a headless browser to retrieve an instance of a dynamic web page that includes additional content. The method also includes storing the additional content at a memory that is accessible to the processor and encoding circuitry of the hardware encoder. The method further includes retrieving, at the encoding circuitry, the additional content from the memory and encoding the input media stream to generate an output media stream. At least one frame of the output media stream includes at least a portion of the additional content in conjunction with at least a portion of a corresponding frame of the input media stream.
A method includes reducing, at an encoder, an encoding bit rate of video data in response to a first indication of available bandwidth for transmission of the encoded video data. The method includes reducing an encoding frame size of the video data in response to the encoding bit rate falling below a first threshold. The method also includes increasing the encoding bit rate in response to a second indication of the available bandwidth. The method further includes increasing the encoding frame size in response to the encoding bit rate rising above a second threshold. The second threshold is greater than the first threshold.
H04N 19/52 - Processing of motion vectors by encoding by predictive encoding
H04N 19/152 - Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
H04N 19/196 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
H04N 19/184 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
A hardware encoder includes a chassis including at least one vent cut into a first surface of the chassis. The hardware encoder further includes an input interface disposed within the chassis and configured to receive a media signal. The hardware encoder further includes encoding circuitry disposed within the chassis and configured to encode the media signal to generate a media stream. The hardware encoder further includes a network interface disposed within the chassis and configured to send the media stream to a publishing destination. The hardware encoder further includes a bezel attached to the first surface of the chassis and enabling a view of a display screen. A portion of the bezel extrudes in a direction away from the first surface to enable airflow into the at least one vent.
H04N 21/6379 - Control signals issued by the client directed to the server or network components directed to server directed to encoder
H04N 21/4363 - Adapting the video stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/2743 - Video hosting of uploaded data from client
H04N 21/266 - Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system or merging a VOD unicast channel into a multicast channel
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
H04L 41/0806 - Configuration setting for initial configuration or provisioning, e.g. plug-and-play
H04N 1/00 - PICTORIAL COMMUNICATION, e.g. TELEVISION - Details thereof
H04L 51/52 - User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
H04L 65/61 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
A method includes determining, at a server based on location information associated with a mobile device, that the mobile device is within a particular range of a target location. The method also includes sending a notification to the mobile device requesting a video stream from the mobile device, where the video stream is to be captured at the target location.
G01S 5/02 - Position-fixing by co-ordinating two or more direction or position-line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
H04L 29/06 - Communication control; Communication processing characterised by a protocol
A method includes reducing, at an encoder, an encoding bit rate of video data in response to a first indication of available bandwidth for transmission of the encoded video data. The method includes reducing an encoding frame size of the video data in response to the encoding bit rate falling below a first threshold. The method also includes increasing the encoding bit rate in response to a second indication of the available bandwidth. The method further includes increasing the encoding frame size in response to the encoding bit rate rising above a second threshold. The second threshold is greater than the first threshold.
H04N 19/152 - Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
H04N 19/184 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
H04N 19/196 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
13.
Clip generation based on multiple encodings of a media stream
A method includes receiving a media stream and generating first and second encoded versions of the media stream, the first encoded version associated with a first key frame interval and the second encoded version associated with a second key frame interval greater than the first key frame interval. The method also includes receiving, from a destination device, a request to generate a media clip, the request identifying a start point. The method further includes generating the media clip based on first sequence of frames of the first encoded version and second sequence of frames of the second encoded version. The first sequence begins at a first frame corresponding to the start point and ends at a second frame corresponding to a transition point. The second sequence begins at a third frame following the transition point and ends at a fourth frame corresponding to a stop point.
H04N 19/146 - Data rate or code amount at the encoder output
H04N 19/33 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
H04N 19/30 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
H04N 19/172 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
H04N 19/132 - Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
H04N 19/177 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
H04N 19/136 - Incoming video signal characteristics or properties
A method includes detecting, at an interceptor device, a transmission of an encrypted media stream from a first device to a second device. The method also includes intercepting the encrypted media stream, during the transmission, for a simulcast operation associated with the encrypted media stream. The transmission of the encrypted media stream from the first device to the second device is substantially unaffected by the interception. The method further includes simulcasting a version of the encrypted media stream to at least a third device in response to intercepting the encrypted media stream.
A method includes receiving, at a computing device, a media stream. The method further includes generating, at the computing device, client analytics data associated with at least one of receiving, processing, or playback of the media stream. The method further includes transmitting, from the computing device, the client analytics data to an analytics device, the client analytics data including metadata indicating that the client analytics data is associated with a particular category of data.
A method includes receiving, at a media server, a request for a media stream from a client device. The method further includes sending, from the media server, a combined media stream to the client device via a streaming session. The combined media stream includes the requested media stream and interactive content. The interactive content is configured to cause a media player of the client device to display the interactive content concurrently with the media stream.
H04N 21/431 - Generation of visual interfaces; Content or additional data rendering
H04N 21/472 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
H04N 21/478 - Supplemental services, e.g. displaying phone caller identification or shopping application
H04N 21/858 - Linking data to content, e.g. by linking an URL to a video object or by creating a hotspot
H04N 21/4788 - Supplemental services, e.g. displaying phone caller identification or shopping application communicating with other users, e.g. chatting
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
18.
Selection of a content source based on performance data
Systems and methods of selecting a content source based on performance data are disclosed. A particular method includes sending, from a device, a first request for a media stream to a server. The method also includes determining, at the device, first performance data. The method further includes receiving, at the device, second performance data from the server. The method also includes selecting, based on the first performance data and the second performance data, a content source that is distinct from the server. The method further includes sending, from the device, a second request for the media stream to the content source. The method also includes receiving the media stream at the device from the content source.
H04N 21/262 - Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission or generating play-lists
H04N 21/23 - Processing of content or additional data; Elementary server operations; Server middleware
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
H04N 21/462 - Content or additional data management e.g. creating a master electronic program guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabi
H04L 29/06 - Communication control; Communication processing characterised by a protocol
A method includes receiving a plurality of images at an encoder device. The plurality of images is encoded by the encoder device to generate an output video stream. The output video stream includes a plurality of encoded video frames corresponding to the plurality of images. While receiving the plurality of images and while generating the output video stream, the encoder device receives a notification that a particular image of the plurality of images satisfies a thumbnail generation condition based on stream analysis of one or more of the plurality of images. The output video stream is sent concurrently with a supplemental data package to a media server. The supplemental data package comprises a thumbnail and metadata associated with the thumbnail, the thumbnail generated from the particular image responsive to receiving the notification.
A hardware encoder includes a network interface configured to receive configuration information via a private network and a processor configured to encode at least one media stream based on the configuration information. The configuration information is received from a mobile device connected to the private local network.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/6379 - Control signals issued by the client directed to the server or network components directed to server directed to encoder
H04N 21/4363 - Adapting the video stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/2743 - Video hosting of uploaded data from client
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
H04N 21/266 - Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system or merging a VOD unicast channel into a multicast channel
H04L 12/24 - Arrangements for maintenance or administration
Systems and methods of selecting a content source based on performance data are disclosed. A particular method includes sending, from a device, a first request for a media stream to a server. The method also includes determining, at the device, first performance data. The method further includes receiving, at the device, second performance data from the server. The method also includes selecting, based on the first performance data and the second performance data, a content source that is distinct from the server. The method further includes sending, from the device, a second request for the media stream to the content source. The method also includes receiving the media stream at the device from the content source.
H04N 21/262 - Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission or generating play-lists
H04N 21/23 - Processing of content or additional data; Elementary server operations; Server middleware
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
G06F 17/30 - Information retrieval; Database structures therefor
H04N 21/462 - Content or additional data management e.g. creating a master electronic program guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabi
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
A method includes determining, at a server based on location information associated with a mobile device, that the mobile device is within a particular range of a target location. The method also includes sending a notification to the mobile device requesting a video stream from the mobile device, where the video stream is to be captured at the target location.
G01S 5/02 - Position-fixing by co-ordinating two or more direction or position-line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
H04L 29/06 - Communication control; Communication processing characterised by a protocol
A method, apparatus, and computer-readable storage device includes functionality for analyzing a streaming video schedule for one or more scheduling gaps and for streaming supplemental content to fill the one or more scheduling gaps. The streaming video schedule comprises a list of start times, end times, and titles to video segments to be streamed over a computer network. The supplemental content may comprise paid or free content and may be provided by a live linear video stream, a data storage device storing video on demand (VOD) content, digital video recorder (DVR) content, a media server, a content delivery network server, a capture video device, or any combination thereof. Particular embodiments include truncating the supplemental content to fill specific gaps in the streaming video schedule, receiving user input for matching and/or search functionality to select supplemental content for streaming, and/or the like.
G06F 3/00 - Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
G06F 13/00 - Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
H04N 5/445 - Receiver circuitry for displaying additional information
H04N 21/472 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
H04N 21/482 - End-user interface for program selection
H04N 21/237 - Communication with additional data server
H04N 21/262 - Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission or generating play-lists
H04N 21/2668 - Creating a channel for a dedicated end-user group, e.g. by inserting targeted commercials into a video stream based on end-user profiles
H04N 21/2743 - Video hosting of uploaded data from client
A method includes determining, at a server based on location information associated with a mobile device, that the mobile device is within a particular range of a target location. The method also includes sending a notification to the mobile device requesting a video stream from the mobile device, where the video stream is to be captured at the target location.
A method includes receiving source code in a first programming language. The method further includes identifying a design pattern based on a flag included in the source code. The method further includes generating a first translation of the source code in a second programming language, where at least a portion of the second file conforms to the design pattern. The method further includes generating a second translation of the source code in a third programming language. The method further includes outputting first data based on the first translation to a first device and second data based on the second translation to a second device.
A computing device includes a processor and a memory storing a media player. The media player is executable to cause the processor to, during playback of a media stream, receive an abstract syntax tree (AST) in the media stream, invoke a compiler to compile the AST to generate a platform-specific component, and execute the platform-specific component.
A method includes receiving a client report including an identifier and client analytics data, the client report received from a client device and the client analytics data associated with a media stream received by the client device from a streaming server. The method further includes receiving a server report including the identifier and server analytics data, the server report received from the streaming server. The method further includes, based on determining that the client report and the server report include the identifier, determining that the client analytics data and the server analytics data are correlated.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/472 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
A method includes receiving, at a computing device, a media stream. The method further includes generating, at the computing device, client analytics data associated with at least one of receiving, processing, or playback of the media stream. The method further includes transmitting, from the computing device, the client analytics data to an analytics device, the client analytics data including metadata indicating that the client analytics data is associated with a particular category of data.
A particular method includes determining, at a processor of a computing device, a plurality of hardware scores associated with a plurality of hardware systems, where each of the plurality of hardware scores corresponds to a respective one of the plurality of hardware systems. The method also includes receiving data indicating a video processing workload and determining a workload score associated with the video processing workload based on the data. The method further includes identifying one or more of the plurality of hardware systems to execute the video processing workload. The one or more hardware systems are identified based on a comparison of the workload score to one or more hardware scores of the one or more hardware systems. The method includes assigning the one or more hardware systems to execute the video processing workload.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]
H04N 19/42 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals - characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
G06F 17/30 - Information retrieval; Database structures therefor
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
H04N 19/127 - Prioritisation of hardware or computational resources
H04N 19/156 - Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
H04N 19/436 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals - characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
H04N 19/169 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
30.
Adjusting encoding parameters at a mobile device based on a change in available network bandwidth
A mobile device is configured to generate a GUI including a plurality of elements, including one or more of: a first element to receive a first set of audio-video encoding parameters; a second element to start/stop streaming to a media server; a third element to enable input of a second set of parameters; a fourth element to select audio and/or video for inclusion in the encoded stream; a fifth element to select the media server from multiple available media servers; a sixth element to toggle front- and rear-facing video cameras; a seventh element to select a streaming application program; an eighth element to accept media server credentials; a ninth element to force identity across the first and second set of parameters; or a tenth element to navigate multiple screens of the GUI.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 19/102 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
H04N 19/146 - Data rate or code amount at the encoder output
H04N 19/166 - Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
H04N 19/134 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
A method includes generating, at a first computing device, a header for media packets, the header including a header flag in a first portion of the header and a variable length header field in a second portion of the header, the first portion contiguous to the second portion, wherein the header flag includes a value indicating a length of the header field. The method also includes generating a body for the media packets, generating the media packets based on the header and the body, generating a protocol report based on media data, and sending the media packets and the protocol report to a second computing device. The protocol report includes information to enable the second computing device to account for successful receipt of the body of the media packets by the second computing device.
A method includes receiving a client report including an identifier and client analytics data, the client report received from a client device and the client analytics data associated with a media stream received by the client device from a streaming server. The method further includes receiving a server report including the identifier and server analytics data, the server report received from the streaming server. The method further includes, based on determining that the client report and the server report include the identifier, determining that the client analytics data and the server analytics data are correlated.
A method includes receiving at least one search term at a computing device coupled to a first content source storing first video content, the at least one search term associated with a streaming video channel. The method also includes receiving information based on the at least one search term, the information associated with second video content available from a second content source. The method further includes generating a streaming schedule for the streaming video channel. The streaming schedule indicates that during a first time period, the streaming video channel is to present the first video content from the first content source. The streaming schedule also indicates that, during a second time period, the streaming video channel is to present the second video content available from the second content source.
H04N 7/173 - Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
H04N 21/472 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
H04N 21/482 - End-user interface for program selection
H04N 21/237 - Communication with additional data server
H04N 21/262 - Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission or generating play-lists
H04N 21/2668 - Creating a channel for a dedicated end-user group, e.g. by inserting targeted commercials into a video stream based on end-user profiles
H04N 21/2743 - Video hosting of uploaded data from client
A method includes receiving input at a computing device, where the input indicates a value of a local encoding parameter, indicates a value of a remote encoding parameter, and identifies a first subset of streams and a second subset of streams. The first subset and the second subset correspond to renditions of a video stream. The method further includes sending, to a media server, the first subset and the value of the remote encoding parameter, where the first subset includes a particular rendition of the video stream generated using a lossless encoding scheme, and wherein the media server is configured to generate the second subset of streams based on the value of the remote encoding parameter and based on the particular rendition.
H04N 7/12 - Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
H04N 19/46 - Embedding additional information in the video signal during the compression process
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
A method includes receiving, at a media player at a computing device, a first portion of a media stream, and initiating playback of the first portion of the media stream. The method also includes receiving a second portion of the media stream during the playback of the first portion of the media stream, the second portion of the media stream including a platform-independent representation of source code. The method further includes compiling the platform-independent representation of the source code to generate a platform-specific component that is executable by the computing device. The method includes executing the platform-specific component at the computing device during execution of the media player at the computing device.
A method includes receiving a plurality of images at an encoder device and encoding the plurality of encoder images to generate an output video stream, where the output video stream includes a plurality of encoded video frames corresponding to the plurality of images. During generation of the output video stream, the encoder device receives a notification that a particular image of the plurality of images satisfies a thumbnail generation condition. In response to the notification, the encoder device generates a thumbnail from the particular image and sends the output video stream to a media server.
Systems and methods of token-based protection for remote resources are disclosed. For example, a method may include receiving, at a second computing device, a configuration message from a first computing device. The configuration message includes information to configure a resource at the second computing device. For example, the resource may be a cloud transcoder. The method also includes generating, at the second computing device, a short token that enables the first computing device to access the resource. For example, the short token may be used to receive a long token that can be used to send application programming interface (API) requests to the cloud transcoder.
A method includes receiving, at a media player software application at a computing device, a first portion of a media stream, and initiating playback of the first portion of the media stream. The method also includes receiving a second portion of the media stream during the playback of the first portion of the media stream, the second portion of the media stream including a platform-independent representation of source code. The method further includes compiling the platform-independent representation of the source code to generate a platform-specific software component that is executable by the computing device. The method includes executing the platform-specific software component at the computing device during execution of the media player software application at the computing device.
A method includes receiving a media stream and generating first and second encodings of the media stream, the first encoding associated with a first key frame interval and the second encoding associated with a second key frame interval greater than the first key frame interval. The method also includes receiving, from a destination device, a request to generate a media clip, the request identifying a start point. The method further includes generating the media clip based on first sequence of frames of the first encoding and second sequence of frames of the second encoding. The first sequence begins at a first frame corresponding to the start point and ends at a second frame corresponding to a transition point. The second sequence begins at a third frame following the transition point and ends at a fourth frame corresponding to a stop point.
H04N 19/146 - Data rate or code amount at the encoder output
H04N 19/172 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
H04N 19/33 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
H04N 19/30 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
H04N 19/177 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
H04N 19/132 - Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
H04N 19/136 - Incoming video signal characteristics or properties
A method includes receiving first input from a computing device, the first input corresponding to selection of a first media player associated with a first output stream format. In response to the first input, a first stream preview is sent to the computing device in accordance with the first output stream format. The method includes receiving second input from the computing device, where the second input corresponds to selection of a second media player associated with a second output stream format. In response to the second input, a second stream preview is sent to the computing device in accordance with the second output stream format.
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/6373 - Control signals issued by the client directed to the server or network components for rate control
H04N 21/6379 - Control signals issued by the client directed to the server or network components directed to server directed to encoder
H04N 21/8549 - Creating video summaries, e.g. movie trailer
G11B 27/031 - Electronic editing of digitised analogue information signals, e.g. audio or video signals
H04N 21/482 - End-user interface for program selection
H04N 21/61 - Network physical structure; Signal processing
Systems and methods of processing closed captions are disclosed. For example, a media server may receive a first video stream and first closed caption data associated with the first video stream. The media server may interpret at least one command included in the first closed caption data to generate interpreted closed caption data. The media server may transmit, to a destination device, a second video stream including second closed caption data that is generated based on the interpreted closed caption data.
H04N 21/472 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 7/088 - Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band with signal insertion during the vertical blanking interval the inserted signal being digital
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 5/445 - Receiver circuitry for displaying additional information
H04N 21/431 - Generation of visual interfaces; Content or additional data rendering
H04N 21/438 - Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
H04N 21/485 - End-user interface for client configuration
Systems and methods of configuring and performing distributed encoding of a video stream are disclosed. A method includes receiving a video stream at a computing device and receiving input indicating a value of a local encoding parameter and a value of a remote encoding parameter. The method further includes encoding the video stream at the computing device based on the value of the local encoding parameter to generate a first encoded stream. The method includes sending the first encoded stream and the value of the remote encoding parameter to a media server. The media server is configured to generate a second encoded stream based on the value of the remote encoding parameter and the first encoded stream.
H04N 7/12 - Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
H04N 19/46 - Embedding additional information in the video signal during the compression process
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
A method includes encoding, at a mobile device having a camera, a first portion of a media stream captured by the camera based on an encoding parameter. The method also includes sending the encoded first portion of the media stream from the mobile device to a computing device via a network connection. The method further includes detecting a change in available network bandwidth of the network connection. The method includes automatically adjusting the encoding parameter in response to the change in the available network bandwidth. The method also includes encoding a second portion of the media stream based on the adjusted encoding parameter and sending the encoded second portion of the media stream from the mobile device to the computing device.
H04N 7/12 - Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
H04N 19/134 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
H04N 19/102 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
H04N 19/146 - Data rate or code amount at the encoder output
H04N 19/166 - Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
A method includes receiving, at a media server from a computing device, a first request for a manifest associated with media content. The method also includes generating, at the media server, the manifest based on a manifest type and a content segmentation type. The manifest identifies one or more segments of one or more adaptive streaming renditions. The method further includes sending the manifest from the media server to the computing device. The method includes receiving a second request from the computing device, where the second request identifies a requested segment of an adaptive streaming rendition identified by the manifest. The method also includes sending the requested segment from the media server to the computing device in response to the second request.
H04N 21/84 - Generation or processing of descriptive data, e.g. content descriptors
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 21/858 - Linking data to content, e.g. by linking an URL to a video object or by creating a hotspot
Systems and methods of token-based protection for remote resources are disclosed. For example, a method may include receiving, at a second computing device, a configuration message from a first computing device. The configuration message includes information to configure a resource at the second computing device. For example, the resource may be a cloud transcoder. The method also includes generating, at the second computing device, a short token that enables the first computing device to access the resource. For example, the short token may be used to receive a long token that can be used to send application programming interface (API) requests to the cloud transcoder.
A method includes generating, at a media server, a graphical user interface (GUI) that includes one or more configuration or testing options associated with a media server. The method includes receiving first input responsive to the GUI from a computing device, the first input corresponding to selection at the GUI of a first media player associated with a first output stream format. In response to the first input, a first output stream is sent to the computing device in accordance with the first output stream format. The method includes receiving second input responsive to the GUI from the computing device, where the second input corresponds to selection of a second media player associated with a second output stream format. In response to the second input, a second output stream is sent to the computing device in accordance with the second output stream format.
A method includes encoding, at a mobile device having a camera, a first portion of a media stream captured by the camera based on an encoding parameter. The method also includes sending the encoded first portion of the media stream from the mobile device to a computing device via a network connection. The method further includes detecting a change in available network bandwidth of the network connection. The method includes automatically adjusting the encoding parameter in response to the change in the available network bandwidth. The method also includes encoding a second portion of the media stream based on the adjusted encoding parameter and sending the encoded second portion of the media stream from the mobile device to the computing device.
H04N 7/12 - Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
H04N 11/02 - Colour television systems with bandwidth reduction
H04N 11/04 - Colour television systems using pulse code modulation
H04N 19/103 - Selection of coding mode or of prediction mode
H04N 19/164 - Feedback from the receiver or from the transmission channel
48.
Providing control information to a multimedia server
A method may include receiving, at a mobile computing device comprising a processor, input identifying control information to be sent from the mobile computing device to a media server. The method may include determining, at the mobile computing device, whether the computing device is sending a media stream to the media server. In response to determining that the mobile computing device is sending a media stream to the media server, the control information may be sent from the mobile computing device to the media server without interrupting the media stream by embedding the control information in the media stream.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
H04N 21/472 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04W 4/18 - Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
Systems and methods of routing media content based on monetary cost are disclosed. A particular method includes receiving, at a network device coupled to a plurality of media delivery networks, media content to be provided to a destination device. The method also includes selecting a first media delivery network of the plurality of media delivery networks for routing the media content based at least in part on a determination that a first monetary cost associated with routing the media content through the first media delivery network is less than a second monetary cost associated with routing the media content through a second media delivery network of the plurality of media delivery networks. The method further includes routing the media content from the network device to the first media delivery network.
Systems and methods of selecting a media content source based on monetary cost are disclosed. A particular method includes receiving media content at a network device and sending the media content from the network device to each of a plurality of source devices configured to provide the media content to a destination device. The method further includes receiving a request for the media content from the destination device and selecting a first source device of the plurality of source devices to provide the media content to the destination device based at least in part on a determination that a first monetary cost associated with providing the media content from the first source device is less than a second monetary cost associated with providing the media content from a second source device of the plurality of source devices.
Control information may be provided to a server by a computing device before or while the computing device sends a media stream to the server. The control information is associated with processing of the media stream by the media server. When the computing device is not sending the media stream to the media server, the computing device may send the control information to the media server while establishing a connection with the media server. When the computing device is sending the media stream to the media server, the computing device may send the control information without interrupting communication of the media stream to the media server. For example, the control information may be embedded into the media stream or may be sent via a separate connection to the media server.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/06 - Communication control; Communication processing characterised by a protocol
Systems and methods of token-based protection for links to media streams are disclosed. For example, a computing device may receive a media request in response to selection of a link to a media stream. The link may include a first token that is generated based on a private key and an encryption algorithm, and the media request may include the first token. The computing device may grant or deny the media request based on a comparison of the first token and a second token that is generated based on the private key and the encryption algorithm.
H04L 9/18 - Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems
G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
H04L 9/32 - Arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system
Systems and methods of token-based protection for links to media streams are disclosed. For example, a computing device may generate a first token based on a private key and an encryption algorithm. The first token may be inserted into a link to a media stream. When the link is selected at a client device, a media request including the first token may be sent to a server. The server may generate a second token based on the private key and the encryption algorithm. The server may grant or deny the media request based on a comparison of the first token and the second token.
A method includes receiving a request at a media server from a computing device for a portion of a particular rendition of content that is available for adaptive streaming. The request received while the media server has access to a single rendition of the content. When the portion is part of the single rendition, the media server sends the portion retrieved from the single rendition to the computing device in response to the request. When the portion is not part of the single rendition, the media server generates the portion by transcoding a corresponding portion of the single rendition of the content, stores the generated portion in a cache of the media server, and sends the generated portion to the computing device in response to the request. The method further includes removing portions of one or more outdated renditions from the cache while maintaining the generated portion in the cache.
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
H04N 21/472 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
H04N 21/8543 - Content authoring using a description language, e.g. MHEG [Multimedia and Hypermedia information coding Expert Group] or XML [eXtensible Markup Language]
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/231 - Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers or prioritizing data for deletion
Systems and methods of configuring and performing distributed encoding of a video stream are disclosed. A method includes receiving a video stream at a computing device and receiving user input indicating a value of a local encoding parameter and a value of a remote encoding parameter. The method further includes encoding the video stream at the computing device based on the value of the local encoding parameter to generate a first encoded stream. The method includes sending the first encoded stream and the value of the remote encoding parameter to a media server. The media server is configured to generate a second encoded stream based on the value of the remote encoding parameter and the first encoded stream.
H04N 7/12 - Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
H04N 19/46 - Embedding additional information in the video signal during the compression process
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Systems and methods of processing closed captions are disclosed. For example, a media server may receive a first video stream and first closed caption data associated with the first video stream. The media server may interpret at least one command included in the first closed caption data to generate interpreted closed caption data. The media server may transmit, to a destination device, a second video stream including second closed caption data that is generated based on the interpreted closed caption data.
H04N 7/088 - Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band with signal insertion during the vertical blanking interval the inserted signal being digital
H04N 21/472 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
A particular method includes receiving, at a media server, a request for a first rendition of a stream. The method also includes generating a portion of the first rendition. Generating the portion of the first rendition includes determining whether one or more first overlay images are enabled and inserting the one or more first overlay images into one or more frames of the portion of the first rendition conditioned on the one or more first overlay images being enabled. The method further includes sending the portion of the first rendition to a computing device.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 21/472 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
58.
On the fly transcoding of video on demand content for adaptive streaming
Systems and methods of performing on the fly transcoding of video on demand content for adaptive streaming are disclosed. For example, a media server has access to a single rendition of a video on demand item. The media server receives a request from a computing device. The request is for a portion of one of a plurality of renditions of the video on demand item that are available for adaptive streaming, where each of the renditions has a distinct bitrate. In response to the request, the media server generates, on the fly, the requested portion of the requested rendition by transcoding a corresponding portion of the accessible rendition. The media server sends the generated portion to the computing device.
H04N 7/173 - Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
59.
Automatically publishing streams to multiple destinations
Systems and methods of automatically publishing a stream to multiple destinations are disclosed. A media server receives a stream and identifies a plurality of entries in a publishing map stored at the media server, where the each of the plurality of entries is associated with the stream. A first entry of the plurality of entries identifies a first publishing destination and a second entry of the plurality of entries identifies a second publishing destination that is different from the first publishing destination. The media server automatically publishes the stream to the first publishing destination and to the second publishing destination.
A method includes receiving closed captioning data at a computing device. The closed captioning data is associated with a video on demand asset and is represented in a first format. The method also includes, during a single video on demand streaming session, converting the closed captioning data from the first format to a platform-independent format and converting the closed captioning data from the platform-independent format to a second format. The method further includes transmitting, during the single video on demand streaming session, the closed captioning data in the second format to a destination device.
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 7/088 - Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band with signal insertion during the vertical blanking interval the inserted signal being digital
H04N 21/472 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
Systems and methods of processing closed captions are disclosed. For example, a media server may receive a first video stream and first closed caption data associated with the first video stream. The media server may interpret at least one command included in the first closed caption data to generate interpreted closed caption data. The media server may transmit, to a destination device, a second video stream including second closed caption data that is generated based on the interpreted closed caption data.
Systems and methods of processing closed captions for live streams are disclosed. For example, a media server may receive closed captioning data associated with a live video stream, where the closed captioning data is represented in a first format. The media server may convert the closed captioning data from the first format to a platform-independent format and convert the closed captioning data from the platform-independent format to a second format. The media server may transmit the closed captioning data in the second format to a destination device.
Systems and methods of inserting overlays into a stream are disclosed. A media server may receive a stream. The media server may selectively add one or more images (e.g., graphics and/or text) to the stream prior to scaling the stream to produce one or more scaled streams. The media server may also selectively add one or more images to the scaled streams. The scaled streams may be encoded for adaptive streaming to a computing device.
A method includes determining, at a first computing device, whether data to be communicated to a second computing device includes media data or protocol data. The method also includes, in response to determining that the data includes media data, generating a message header and a message body based on the media data. The message header includes a header flags portion and a header fields portion, and the header flags portion includes at least one flag having a value that indicates a length of a corresponding field of a plurality of fields of the header fields portion. The method further includes encapsulating the message header and the message body into a message and inserting the message into a media stream to be transmitted from the first computing device to the second computing device in accordance with a media communication protocol.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/06 - Communication control; Communication processing characterised by a protocol
A method includes determining, at a first computing device, whether data to be communicated to a second computing device includes media data or protocol data. The method also includes, in response to determining that the data includes media data, generating a message header and a message body based on the media data. The message header includes a header flags portion and a header fields portion, and the header flags portion includes at least one flag having a value that indicates a length of a corresponding field of a plurality of fields of the header fields portion. The method further includes encapsulating the message header and the message body into a message and inserting the message into a media stream to be transmitted from the first computing device to the second computing device in accordance with a media communication protocol. The media stream is a bidirectional media stream.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/06 - Communication control; Communication processing characterised by a protocol
A method includes receiving closed captioning data at a computing device. The closed captioning data is associated with a video on demand asset and is represented in a first format. The method also includes, during a single video on demand streaming session, converting the closed captioning data from the first format to a platform-independent format and converting the closed captioning data from the platform-independent format to a second format. The method further includes transmitting, during the single video on demand streaming session, the closed captioning data in the second format to a destination device.