Abstract:
Disclosed are systems, methods, devices and computer-readable mediums for image fetching for timeline scrubbing of digital media. In some implementations, a method comprises: receiving at a first time prior to receiving a scrub command, a first set of scrub images associated with digital media, the first set of scrub images having a first set of positions on a timeline of the digital media; receiving a first scrub command; receiving at a second time after the first time, a second set of scrub images associated with the digital media, the second set of scrub images having a second set of positions on the timeline that fill time gaps in the first set of positions on the timeline; animating, a timeline overlay including the timeline, a playhead and a scrub image window; and selecting a scrub image from the first or second sets of scrub images for presentation in the scrub image window.
Abstract:
Systems and methods for enabling playback control functions of a media player are disclosed. For example, a user of a client device receiving streaming playback of a video stream may perform rewind and fast forward control functions. The client device may implement these playback control functions by retrieving an enhanced playback segment. Using the enhanced playback segment, the media player may display selected frames at a predetermined interval while maintaining a visual cadence that is pleasing to a viewer. In the described embodiments, a client device may render a video stream, receive a command to control a fast forward or rewind playback mode for the video stream, and retrieve, from a distribution server or associated edge cache, one or more enhanced playback segments adapted to implement the user command.
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:
Methods and systems for switching between media streams can use a comparison of an average bandwidth for a new stream to an observed bit rate for an existing stream in order to determine whether to switch to the new stream. A check on the amount of data buffered for the existing stream can also be performed in order to determine whether a system should switch to the new stream.
Abstract:
Systems and methods for enabling playback control functions of a media player are disclosed. For example, a user of a client device receiving streaming playback of a video stream may perform rewind and fast forward control functions. The client device may implement these playback control functions by retrieving an enhanced playback segment. Using the enhanced playback segment, the media player may display selected frames at a predetermined interval while maintaining a visual cadence that is pleasing to a viewer. In the described embodiments, a client device may render a video stream, receive a command to control a fast forward or rewind playback mode for the video stream, and retrieve, from a distribution server or associated edge cache, one or more enhanced playback segments adapted to implement the user command.
Abstract:
Systems and methods for switching between encoded media streams are disclosed. A system may be configured to receive at least two media streams of differing qualities that are associated with an identical media asset. The system can seamlessly switch between a first media stream and a second media stream using an algorithm that can determine which frames of a second stream must be discarded to sync the second stream with the first media stream. The two media streams can then be cross faded to switch from the first media stream to the second media stream.
Abstract:
Content streaming systems, such as systems that use HTTP compliant requests to obtain media segments for presentation of the content on a device. These content streaming systems can be optimized to reduce latency to a low level so that live events can be streamed to receiving devices in such a manner so that the time between an action in the live event and the presentation of the action on a receiving device that receives the streamed content is less than about 10 seconds. A client device can use rendition reports to tune-in to a new rendition (at a first bit rate) after presenting a prior rendition (of a second bit rate) when switching between the different bit rates; also, for example, a client device can use playlist annotations that indicate independent frames to avoid downloading depending frame media segments when switching between different renditions.
Abstract:
This disclosure relates to techniques for a wireless device to detect network bandwidth throttling and dynamically select a buffer threshold. The wireless device may establish a wireless link. Data for a downlink stream may be requested when an amount of buffered data for the stream is below a lower buffer threshold, received via the wireless link, and buffered. Data requests for the stream may be stopped when the amount of buffered data for the stream is above an upper buffer threshold. The upper buffer threshold may be selected based on characteristics of the wireless link and the stream. Throughput of the wireless link may also be monitored during multiple time windows, and the wireless device may determine whether the wireless link caps bandwidth below a bandwidth threshold based on the throughput monitoring.
Abstract:
Streaming media systems, such as HTTP Live Streaming, can provide a low latency service by including, within a playlist, a URI that identifies a future media segment that will become available after the playlist is completed. Client devices can receive the playlist and can make two separate blocking requests for an updated playlist and for the future media segment. This approach allows the use of HTTP 1.1 to request and receive playlists and media segments and allows the use of two different servers to provide the playlist in the future media segment.
Abstract:
The present disclose describes techniques for delivery and rendering of streamed media using error tags in a corresponding media playlist. The playlist may represent organization of the media item, providing information of coded media segments that constitute the media item. When segments of coded media are received for a media item, a determination may be made whether the coded media segments contain errors. When a coded media segment is encountered that does not contain an error, a playlist entry representing the coded media segment may be added to the playlist. When a coded media segment contains an error, a playlist entry may be added to represent this coded media segment. This playlist entry may indicate the segment error. The playlist may be stored for access by player device(s).