Patent classifications
H04L65/752
SYNCHRONIZING THE STORING OF STREAMING VIDEO
A method and device for communicating video for synchronization between a portable wearable camera and a wireless hub device are described. The portable wearable camera may capture first video data. Also, the portable wearable camera may transmit the first video data to the wireless hub device via a video data channel, and may capture second video data. When the video data channel between the wearable camera and the wireless hub device is unable to support full resolution video playback, the portable wearable camera may store the second video data. Further, the portable wearable camera may receive a request via a control channel, from the wireless hub device, for the second video data, and may capture third video data. Further, the portable wearable camera may transmit, to the wireless hub device, the third video data via the video data channel and the second video data via the control channel.
SYSTEMS AND METHODS FOR GENERALIZED HTTP HEADERS IN DYNAMIC ADAPTIVE STREAMING OVER HTTP (DASH)
Systems and methods for streaming content are disclosed. A Media Presentation Description (MPD) may be associated with streaming content, for example, in Dynamic Adaptive Streaming Over HTTP (DASH). An MPD array comprise an element, e.g., a header element or URL, query element, which provides a name value functionality. An element may allow a request that results in insertion of custom headers. Requests may be used for retrieval of a subsegment, segment, or MPD, re-referencing of remote elements, or triggered by an event. The event may be embedded either in an MPD or in segments.
System and Method for Streaming Content from Multiple Servers
A system and a method for media streaming from multiple sources are disclosed. A content requesting client device accesses a server to receive a list of available sources that may include multiple Content Delivery Networks (CDNs) and independent servers. Based on a pre-set criteria, such as the source delivery performance and cost, the client device partitions the content into parts, allocates a source to each part, and simultaneously receives media streams of the content parts from the allocated sources. The server may be a Video-on-Demand (VOD) server, and the content may be a single file of a video data, such as a movie. The delivery performance of the used sources is measured during the streaming for updating the partition or the allocation. The updated measured performance may be stored locally at the client device, or at a server for use by other clients. The client actions may be implemented as a client-side script.
SYSTEM AND METHOD FOR DYNAMICALLY MODIFYING MEDIA PROCESSING FUNCTIONS TO CONTROL OPTIMIZATION OF A MEDIA PRODUCTION
A system is provided for dynamically modifying media processing functions to control optimization of a media production. The system includes a media processing function library that stores media processing functions that each include a subgraph embedded therein that has pre-calculated parameters and undefined variable parameters. Media processing engines execute the plurality of media processing functions to create the media production. Moreover, the system includes a media function management controller that places the media processing functions in a job queue to be executed by one or more of the media processing engines. A resource manager receives a media production instruction from a client device to partially deploy the media processing functions in the job queue. During execution, the media processing engine can receive an input deliverable that constrains the undefined variable parameters, such that the partially deployed media processing functions is dynamically modified during runtime to create the media production.
Bitrate selection for video streaming
A plurality of videos associated with a plurality of video resolutions may be received. A minimum bitrate may be identified for each of the video resolutions based on a first bitrate point associated with the videos where a quality of the videos at a first video resolution that is upscaled to a second video resolution is better than a quality of the videos at the second video resolution at bitrates below the first bitrate point. Furthermore, a maximum bitrate may be identified for each of the video resolutions based on a second bitrate point where the rate of change of the quality of the videos is below a threshold value. The identified minimum bitrates and the maximum bitrates may be assigned to the video resolutions.
Adaptive real-time streaming for autonomous vehicles
Systems and methods provide for adaptive real-time streaming of Autonomous Vehicle (AV) data. In some embodiments, the AV can receive a request from the remote computing system for real-time streaming of a first type of AV data and adaptively streaming a second type of AV data when one or more streaming conditions are satisfied. The first type of AV data and the second type of AV data can be captured as raw data by sensors, actuators, transducers, and other components of the AV. The AV can stream the first type of AV data to the remote computing system in real-time for a first time period. When the AV determines the streaming conditions are satisfied, the AV can automatically determine the second type of AV data to stream to the remote computing system in real-time for a second time period.
Adaptive real-time streaming for autonomous vehicles
Systems and methods provide for adaptive real-time streaming of Autonomous Vehicle (AV) data. In some embodiments, the AV can receive a request from the remote computing system for real-time streaming of a first type of AV data and adaptively streaming a second type of AV data when one or more streaming conditions are satisfied. The first type of AV data and the second type of AV data can be captured as raw data by sensors, actuators, transducers, and other components of the AV. The AV can stream the first type of AV data to the remote computing system in real-time for a first time period. When the AV determines the streaming conditions are satisfied, the AV can automatically determine the second type of AV data to stream to the remote computing system in real-time for a second time period.
Video aware communication with multiple transport blocks
Various aspects of the present disclosure generally relate to video aware wireless communication. In some aspects, a communication device may classify a set of packets of streaming video content based at least in part on one or more video characteristics; assign the set of packets to a plurality of data radio bearers based on the effect of the set of packets on the quality of experience; generate a plurality of transport blocks for each of the plurality of DRBs; and provide the plurality of transport blocks for transmission. Numerous other aspects are provided.
CHUNKED HTTP VIDEO CACHE ROUTING
Methods and apparatus, including computer program products, for chunked Hypertext Transfer Protocol (HTTP) video cache routing. A method includes, in a client system linked to at least one arbitrary cache node and a group of interconnected computers that include one or more local cache nodes, the client system including at least a processor and a memory, the memory including a browser, loading a player in the browser, and on the player, playing chunked HTTP video requested from the one arbitrary cache node acting as a master cache node, the master cache node requesting a manifest and modifying the manifest so the requests for the actual video are retrieved by the client system from one of the local cache nodes.
Systems and Methods for Encoding Video Content
Systems and methods for encoding a plurality of alternative streams of video content using multiple encoders in accordance with embodiments of the invention are disclosed. An encoding system includes multiple encoders. Each of the encoders receives a source stream of video content that is divided into portions. Each of the encoders generates portions of the plurality of alternative streams from the portions of the source stream. The portions of the alternative streams generated by a particular encoder are stored in a container for the particular encoder. Each encoder also generates index information for the portion of the alternative stream generated by the encoder that is stored in a manifest for the encoder.