Patent classifications
H04N21/8458
CONCURRENT READ-WRITE ACCESS TO A STREAM BY A PLURALITY OF CLIENTS USING A STATE SYNCHRONIZER
Implementations are provided herein for a set of clients to concurrently have read-write access to a stream where all other clients are aware of all changes being made to the stream. A pravega node can track the data that has been written to the stream. The set of clients can dynamically read the stream. A client among the set of clients can update the stream by sending a request to the pravega node that includes the update and a total length of the stream that was written to the stream at the time of the last read update by the client. If the total length of the stream received from the client matches the actual length of the stream maintained by the pravega node, the pravega node will update the stream. If not, a failure message can be sent to the client and the client can process more reads to the stream before making another attempt to update the stream.
EXECUTING STREAMING DATA WRITES WITHOUT DUPLICATION OR LOSS
Implementations are provided herein for executive streaming data writes without duplication or loss. A client application and a pravega node can work to track where write data is, how much data has been written, and what specific data has been acknowledged by the pravega node as successfully written. In the event of an error or connection disruption, the client application can reconnect and determine how much data has been written and resend what data still needs to be written. The data can be written exactly once, and once written and acknowledged, will no longer be subject to data loss.
ORGANIZING PRESENT AND FUTURE READS FROM A TIERED STREAMING DATA STORAGE LAYER
Implementations are provided herein for organizing present and future reads from a tiered streaming data storage layer. Implementations allow for access to multi-tiered streaming data organized in different append-only segments, some of which may be related to each other. Streaming data can be read from fast local tier 1 storage, streaming data can be retrieved from fold tier 2 storage, and registrations can be made to read streaming data that has not yet been written to the storage layer.
DYNAMICALLY SCALING A NUMBER OF STREAM SEGMENTS THAT DYNAMICALLY STORE STREAMING DATA WHILE PRESERVING THE ORDER OF WRITES
Implementations are provided herein for auto-scaling a set of stream segments to a stream. In one implementation, the amount of stream segments can be scaled up and down depending on the amount of data ingested from writers. As the number of stream segments change, writers can have their streaming data transition to a newly merged stream segment or a newly split stream segment. The defined ordering of data as written by the writer is preserved as stream segments are scaled. It can be appreciated that a dynamically scaled stream can offer more capacity than any individual host can provide, while still preserving data order.
System and method for transitioning from decompressing one compressed media stream to decompressing another media stream
A computer system generates a first decompressed media stream based on a first compressed media stream and provides the first decompressed media stream to a presentation device. While providing the first decompressed media to the presentation device: the computer system receives a content-transition indication indicating that a second decompressed media stream is to be provided to the presentation device instead of the first decompressed media stream. The computer system stores first buffered data corresponding to the first decompressed media stream and receives a second compressed media stream corresponding to the second decompressed media stream. After receiving the second compressed media stream, the computer system provides the first buffered data corresponding to the first decompressed media stream to the presentation device while preparing to generate the second decompressed media stream, and after preparing to generate the second decompressed media stream, provides the second decompressed media stream to the presentation device.
IP uncompressed video encoder and decoder
Provided is an IP uncompressed video encoder that converts an IP packet stream of uncompressed video to an IP packet stream of compressed video. The invention is a video encoder that produces an IP packetized stream of compressed video from an IP packetized stream of an uncompressed video signal, comprising: receiving means packetizing, from a network, one or a plurality of IP packetized streams of an uncompressed video signal; retrieving means for retrieving video data from the one or plurality of IP packetized streams of the uncompressed video signal; compressing means for compressing the retrieved video data; and transmitting means configured to IP packetize video compressed by the compressing means to create and transmit a stream of compressed video.
System and method for selecting a transition point for transitioning between media streams
A computer system generates a first decompressed media stream based on a first compressed media stream. While providing the first decompressed media stream to the presentation device, the computer system receives a content-transition indication to switch to a second decompressed media stream. In response to receiving the content-transition indication, the computer system selects a first transition point in first content corresponding to the first compressed media stream and selects a second transition point in second content corresponding to the second compressed media stream. The second transition point is selected in accordance with a bandwidth available for receiving the second compressed media stream and the first transition point is selected based on the second transition point. The computer system requests the second compressed media stream starting at the second transition point and ceases to provide the first decompressed media stream at the first transition point in the first content.
Methods and systems for launching multimedia applications based on device capabilities
Methods and systems are disclosed herein for determining which of two multimedia devices to use when launching an Internet multimedia application. A user may interact directly with a first device and select an application from the first device. The first device will determine whether the selected application is present on a second device and whether the capabilities of the second device make it a better choice for launching the selected application. If the first device is chosen, multimedia data is transmitted from the first device though the second device to a display. If the second device is chosen, the first device sends a command to the second device to launch the selected application and multimedia data is sent from the second device to a display.
System and method for advancing to a predefined portion of a decompressed media stream
A computer system generates, using a first codec, a first decompressed media stream based on a first compressed media stream. The computer system provides the first decompressed media stream to a presentation device. While providing the first decompressed media stream to the presentation device, the computer system receives a second compressed media stream corresponding to a second decompressed media stream to be presented by the presentation device and initializes a second codec after the first codec has stopped decompressing the first compressed media stream so that no more than one codec is decompressing compressed media at a time. The computer system generates, using the initialized second codec, the second decompressed media stream and provides the second decompressed media stream to the presentation device instead of providing the first decompressed media stream to the presentation device.
System and method for transitioning between receiving different compressed media streams
A computer system receives a content-transition indication to provide a second decompressed media stream to a presentation device instead of providing a first decompressed media stream. In response to receiving the content-transition indication, the computer system ceases to receive a first compressed media stream corresponding to the first decompressed media stream and continues to provide the first decompressed media stream to the presentation device using first buffered data. The computer system selects a transition point for a second compressed media stream, corresponding to the second decompressed media stream, based on a quantity of data of the second compressed media stream to be buffered. While continuing to provide the first decompressed media stream to the presentation device using the first buffered data, the computer system receives and buffers the second compressed media stream starting at the transition point. The computer system provides the second decompressed media stream to the presentation device.