Abstract:
Techniques are disclosed for improving user experience of multimedia streaming over computer networks. More specifically, techniques presented herein reduce (or eliminate) latency in playback start time for streaming digital media content resulting from digital rights management (DRM) authorizations. A streaming media client (e.g., a browser, set-top box, mobile telephone or tablet “app”) may request a “fast-expiring” license for titles the streaming media client predicts a user is likely to begin streaming. A fast-expiring license is a DRM license (and associated decryption key) which is valid for only a very limited time after being used for playback. During the validity period of such a license, the client device requests a “normal” or “regular” license to continue accessing the title after the fast-expiring license expires.
Abstract:
A playback application seamlessly advances playback of and interactive media title in response to user selections in a manner that minimizes latency and preserves user immersion in a narrative. The playback application buffers an interstitial segment included in the interactive media title and feeds portions of the interstitial segment to a media player only when those portions are needed for display. When the user selects an option displayed during the interstitial segment, the playback application begins buffering a subsequent media segment and stops feeding portions of the interstitial segment to the media player. The playback application starts feeding blocks of the subsequent media segment to the media player and then seamlessly advances playback to the subsequent media segment.
Abstract:
One embodiment of the invention sets forth a mechanism for encoding video streams associated with the same digital content such that switch points staggered across two video streams occur at every offset temporal distance. The offset temporal distance is less than the distance between two consecutive key frames in a given video stream. This enables a content player to switch to a video stream having a playback quality up or down one level from a current video stream at the offset temporal distance from the most recently played key frame. In effect, the content player does not wait the entire key frame temporal distance before switching.
Abstract:
Techniques for optimizing a plurality of parallel network connections for a digital content stream through a network between a plurality of content servers and a content player. Embodiments determine an indication of network performance for each of the plurality of parallel network connections. Additionally, upon determining that a first one the plurality of parallel network connections is underperforming, based on whether the indication of network performance associated with the first parallel network connection satisfies a threshold level of performance, the first parallel network connection is dropped. Upon determining that a total throughput for the digital content stream is less than a minimum threshold of network performance, embodiments select a content server with which to establish a new parallel network connection, based on historical network performance data associated with the selected content server, and also establishing the new parallel network connection to the selected content server.
Abstract:
Techniques are disclosed for improving user experience of multimedia streaming over computer networks. For example, a method for presenting multimedia content may generally include receiving a request to stream a media title. In response to the request, unencrypted content for the media title is streamed to a client. While streaming the unencrypted content, a digital rights management (DRM) license to access encrypted content for the media title is requested. After receiving the DRM license, the client switches from streaming the unencrypted content for the media title to streaming encrypted content for the media title. The switching from streaming the unencrypted content to streaming the encrypted content does not interrupt playback of the media title.
Abstract:
A playback application is configured to analyze audio frames associated with transitions between segments within a media title to identify one or more portions of extraneous audio. The playback application is configured to analyze the one or more portions of extraneous audio and then determine which of the one or more corresponding audio frames should be dropped. In doing so, the playback application can analyze a topology associated with the media title to determine whether any specific portions of extraneous audio are to be played outside of a logical ordering of audio samples set forth in the topology. These specific portions of extraneous audio are preferentially removed.
Abstract:
One embodiment of the invention sets forth a mechanism for encoding video streams associated with the same digital content such that switch points staggered across two video streams occur at every offset temporal distance. The offset temporal distance is less than the distance between two consecutive key frames in a given video stream. This enables a content player to switch to a video stream having a playback quality up or down one level from a current video stream at the offset temporal distance from the most recently played key frame. In effect, the content player does not wait the entire key frame temporal distance before switching.
Abstract:
A playback application is configured to analyze audio frames associated with transitions between segments within a media title to identify one or more portions of extraneous audio. The playback application is configured to analyze the one or more portions of extraneous audio and then determine which of the one or more corresponding audio frames should be dropped. In doing so, the playback application can analyze a topology associated with the media title to determine whether any specific portions of extraneous audio are to be played outside of a logical ordering of audio samples set forth in the topology. These specific portions of extraneous audio are preferentially removed.
Abstract:
A playback application is configured to dynamically generate topology for an interactive media title. The playback application obtains an initial topology and also collects various data associated with a user interacting with the feature. The playback application then modifies the initial topology, based on the collected data, to generate a dynamic topology tailored to the user. The dynamic topology describes the set of choices available to the user during playback as well as which options can be selected by the user when making a given choice. In addition, the playback application also selectively buffers different portions of the interactive media title, based on the collected data, in anticipation of the user selecting particular options for available choices.
Abstract:
Techniques are disclosed for generating preference rankings in response to requests for streaming media content received from client devices. The preference rankings are used to indirectly partition streaming media content across different content distribution networks (CDNs). Such partitions may be referred to as a “soft” partition, as all of the streaming media content remains available from each CDN. That is, the partitioning of content across CDNs is not absolute, and any content item may be requested from any CDN. Doing so ensures that content remains available even where the preferred CDN for a given content item fails, while at the same time increasing the probability of a cache hit at the CDNs, without increasing the cost or the actual cache sizes of the content caches of different CDNs.