Abstract:
At least a portion of a media file can be downloaded by accessing one or more items of media data associated with a media file stored on a remote server, wherein the media data includes at least one sample table; receiving input from a user identifying a playback location associated with the media file; determining a plurality of data items required to play at least a portion of the media file from the identified playback location based on the at least one sample table; and transmitting one or more byte-range requests to the remote server using the hypertext transfer protocol to retrieve the plurality of data items. Further, the media file can be progressively downloaded from the identified playback location until the end of the media file is reached, playback of the media file is terminated, or input is received from the user identifying a new playback location.
Abstract:
System and methods for improved playback of a video stream are presented. Video snippets are identified that include a number of consecutive frames for playback. Snippets may be evenly temporally spaced in the video stream or may be content adaptive. Then the first frame of a snippet may be selected as the first frame of a scene or other appropriate stopping point. Scene detection, object detection, motion detection, video metadata, or other information generated during encoding or decoding of the video stream may aid in appropriate snippet selection.
Abstract:
The subject technology receives, at a local device, a requested camera format based on specifications of a display associated with a remote device. The remote device and the local device are devices participating in a video conference. The requested camera format includes a first resolution. Camera formats supported by a camera associated with the local device are determined. If a second resolution of a first camera format matches among the supported camera formats matches with the first resolution, the first camera format is selected for capturing the video stream by the camera. Otherwise, a second camera format among the supported camera formats is determined for capturing the video stream so as to maximize a field of view of the video stream relative to other camera formats supported by the camera.
Abstract:
An embodiment of a method of requesting a plurality of media streams can include, as performed by a computing device, receiving a control input to control a playback function of at least one of the plurality of media streams, determining a download bandwidth between the computing device and a media source on a network, classifying the at least one of the plurality of media streams based on the control input and total download bandwidth, and sending a plurality of requests for the plurality media streams over a single connection to the media source, wherein at least one of an order or a content of the requests is based on the classification. The sending of the media stream requests can utilize at least one of a server-side protocol for multiplexing media streams over a single connection or one or more of HTTP pipelining or HTTP range requests over a single connection.
Abstract:
A media delivery service may include a media source, a proxy cache and one or more client devices. The media source may generate coded segments from an input media stream and develop a playlist identifying network locations of the segments. The media source may broadcast the coded segments and their storage locations to a proxy cache in a broadcast channel. The proxy cache may store successfully received coded segments and develop a mapping table identifying the segments' network locations. The client may request segments from the proxy cache based on the received playlist form the media source. If the proxy cache does not store a requested segment, it may so notify the client and the client may request the segment from the media source.