Abstract:
Videos may be loaded to an electronic device at any of a plurality of bitrates, each bitrate corresponding to a certain video quality level. The bitrate selected may be based on, for example, bandwidth capabilities and/or video quality standards. However, bandwidth capabilities may be taxed or exceeded if multiple videos are loaded simultaneously to the electronic device. Examples of the disclosure can be used to manage bandwidth, adjust bitrates, and/or selectively load video and audio in accordance with bandwidth capabilities to provide uninterrupted video playback at a relatively high quality. Further, video players may be allocated in memory and re-used as a user scrolls and switches through a number of videos playing onscreen concurrently.
Abstract:
This document describes a protocol for transferring unbounded streams of multimedia data. It specifies the data format of the files and the actions to be taken by the server (sender) and the clients (receivers) of the streams. It describes version 2 of this protocol.
Abstract:
A near real time content streaming system can use a playlist file, in one embodiment, that includes an indicator of the type of content represented by the playlist file. The type can be indicated by a parameter, such as Video on Demand (VOD) or live, or event, that specifies the type of playlist file, and a client device can process the playlist file based upon the type of playlist file indicated by the parameter. For example, the client device, after determining the type of playlist from a playlist file can make efficiency optimizations when processing the playlist file. For example, the client, knowing the playlist file is a VOD playlist, can save the previously used variant playlist when switching to a new variant playlist rather than discarding the previously used variant playlist.
Abstract:
The present invention includes apparatuses, methods, computer readable media and systems comprising means for rapid data acquisition from a server are discussed herein. This rapid data acquisition can be achieved using a combination of bulk data requests and small data requests. A hybrid approach that uses simultaneous bulk and small data requests can provide random access to data files while achieving the high download speeds of a large data transfer.
Abstract:
The present invention includes apparatuses, methods, computer readable media and systems comprising means for rapid data acquisition from a server are discussed herein. This rapid data acquisition can be achieved using a combination of bulk data requests and small data requests. A hybrid approach that uses simultaneous bulk and small data requests can provide random access to data files while achieving the high download speeds of a large data transfer.
Abstract:
Methods and apparatuses for real-time or near real-time streaming of content using transfer protocols such as an HTTP compliant protocol. In one embodiment, a method includes dividing a stream of data, representing the contiguous time based content of a program (e.g. a live video broadcast), into a plurality of distinct media files, and generating a playlist file having a plurality of tags and Universal Resource Indicators (URIs) indicating an order of presentation of the plurality of distinct media files. The plurality of media files and the playlist file can be made available for transmission to a client device which can retrieve the media files using the playlist file.
Abstract:
Methods, systems and machine readable storage medium for allowing playback of streaming media at playback rates of other than 1× are described. In one embodiment, a method can determine different sets of I-frames that are available before a display deadline, where each set can have a different cadence, and one of the sets can be selected for download and display to achieve playback at other than 1×. Byte range requests from a client device can be used to retrieve each of the I-frames. Other methods, system and media are also described.
Abstract:
Methods and apparatuses for real-time or near real-time streaming of content using transfer protocols such as an HTTP compliant protocol. In one embodiment, a method includes dividing a stream of data, representing the contiguous time based content of a program (e.g. a live video broadcast), into a plurality of distinct media files, and generating a playlist file having a plurality of tags and Universal Resource Indicators (URIs) indicating an order of presentation of the plurality of distinct media files. The plurality of media files and the playlist file can be made available for transmission to a client device which can retrieve the media files using the playlist file.
Abstract:
Methods and apparatuses provide real-time or near real-time streaming of content, specified in one or more playlists, using transfer protocols such as an HTTP compliant protocol. In one embodiment, a method can execute a user application on a client device to present media files and to control presentation of the media files. The method can further run a media serving process on the client device to retrieve a playlist specifying the media files and a media source at which the media files are available, to retrieve the media files from the media source, and to decode the media files retrieved. The media serving process can call the user application to process a custom URL in order to obtain an object referred to by the custom URL.
Abstract:
A method is provided through which information about media files embedded in web pages is obtained from a server and analyzed to determine if the media files are playable on a device. This information may be external to the media file or may be a portion of the media file itself. The determination of whether a media file is playable by a device is made based on information obtained from the server without downloading the entirety of the media file.