Distributed encoding of a video stream
AssigneeWowza Media Systems, LLC
InventorCharles F. Good
Life of this patent
Estimating the term…
Abstract
Systems and methods of configuring and performing distributed encoding of a video stream are disclosed. A method includes receiving a video stream at a computing device and receiving user input indicating a value of a local encoding parameter and a value of a remote encoding parameter. The method further includes encoding the video stream at the computing device based on the value of the local encoding parameter to generate a first encoded stream. The method includes sending the first encoded stream and the value of the remote encoding parameter to a media server. The media server is configured to generate a second encoded stream based on the value of the remote encoding parameter and the first encoded stream.
Claims19
A method comprising:
- receiving a video stream at a computing device, wherein the video stream comprises a live video stream, and wherein the video stream is available for adaptive streaming to a destination device via a set of encoded streams;
- generating a graphical user interface (GUI) at the computing device, wherein the GUI includes options to configure a local encoding parameter and a remote encoding parameter;
- sending the GUI to a display device;
- receiving user input responsive to the GUI, wherein the user input indicates a value of the local encoding parameter, indicates a value of the remote encoding parameter, and identifies a first subset of streams of the set of encoded streams and a second subset of streams of the set of encoded streams, wherein the first subset is to be encoded at the computing device but not at a media server and the second subset is to be encoded at the media server but not at the computing device;
- encoding the video stream at the computing device based on the value of the local encoding parameter to generate the first subset of the set of encoded streams;
- and
- sending, to the media server, the first subset of the set of encoded streams and the value of the remote encoding parameter received via the user input, the media server configured to generate the second subset of the set of encoded streams based on at least the value of the remote encoding parameter received via the user input and based on at least one encoded stream of the first subset of the set of encoded streams.
An apparatus comprising:
- a processor;
- and
- a memory storing instructions that, when executed by the processor, cause the processor to perform operations comprising:
- generating a graphical user interface (GUI) at a computing device, wherein the GUI includes options to configure a local encoding parameter and a remote encoding parameter;
- sending the GUI to a display device;
- receiving, at the computing device, user input responsive to the GUI, wherein the user input indicates one or more values of the local encoding parameter, indicates one or more values of the remote encoding parameter, and identifies a first subset of a set of adaptive bitrate renditions of a video stream and a second subset of the set of adaptive bitrate renditions, wherein the first subset is to be generated by the computing device but not by a media server and the second subset is to be generated by the media server but not at the computing device, wherein the video stream comprises a live video stream, and wherein the video stream is available for adaptive streaming to a destination device via the set of adaptive bitrate renditions;
- encoding the video stream at the computing device based on the one or more values of the local encoding parameter to generate the first subset of the set of adaptive bitrate renditions;
- and
- sending the first subset of the set of adaptive bitrate renditions and the one or more values of the remote encoding parameter received via the user input to the media server, the media server configured to generate the second subset of the set of adaptive bitrate renditions based on the one or more values of the remote encoding parameter received via the user input and based on at least one adaptive bitrate rendition of the first subset of the set of adaptive bitrate renditions.
A non-transitory computer-readable storage device storing instructions that, when executed by a processor, cause the processor to perform operations comprising:
- receiving a video stream at a computing device, wherein the video stream comprises a live video stream, wherein the computing device is located at a capture site of the live video stream, and wherein the video stream is available for adaptive streaming to a destination device via a set of encoded streams;
- generating a graphical user interface (GUI) at the computing device, wherein the GUI includes options to configure a local encoding parameter and a remote encoding parameter;
- sending the GUI to a display device;
- receiving user input responsive to the GUI, wherein the user input indicates a value of the local encoding parameter, indicates a value of the remote encoding parameter, identifies a first subset of streams of the set of encoded streams, and identifies a second subset of streams of the set of encoded streams, wherein the first subset is to be encoded at the computing device but not at a media server and the second subset is to be encoded at the media server but not at the computing device;
- encoding the video stream at the computing device based on the value of the local encoding parameter to generate the first subset of the set of encoded streams;
- and
- sending, to the media server, the first subset of the set of encoded streams and the value of the remote encoding parameter received via the user input, the media server configured to generate the second subset of the set of encoded streams based on at least the value of the remote encoding parameter received via the user input and based on at least one encoded stream of the first subset of the set of encoded streams.
Dependencies are inferred from the claim text.