Web-based configurable pipeline for media processing
First Claim
1. An apparatus, comprising:
- a processor configured to execute instructions included in a web application accessible through a web browser, the instructions including;
instructions to select a plurality of executable software components, each of the plurality of executable software components including at least one of an input or an output;
instructions to establish data connections with the plurality of executable software components so as to establish a processing order for the plurality of executable software components, wherein each component includes at least one of an input configured to receive input data in the processing order or an output configured to provide output data in the processing order, and the plurality of executable software components and the processing order forming a configurable pipeline, the data connections including;
a plurality of control channels for the plurality of executable software components, each control channel established between the web application and an executable software component of the plurality of executable software components, the plurality of control channels enabling the web application to control the plurality of executable software components; and
a plurality of data channels for the plurality of executable software components, each data channel established between one of the web application and an input or an output of each executable software component, or an input of one executable software component and an output of another executable software component, to pass data between the data channels to form the processing order; and
instructions to process a media stream through the configurable pipeline by decoding or encoding the media stream.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for a web-based configurable pipeline for media processing is disclosed. The disclosed embodiments include a web browser implemented on a computing device. The web browser includes a web application processor configured to execute instructions included in a web application, and one or more configurable pipelines, wherein a configurable pipeline of the one or more configurable pipelines is created using at least some of the instructions included in the web application, the configurable pipeline including a plurality of components for processing one or more media streams, each component including at least one input or at least one output, and the configurable pipeline is adapted to establish data connections between the plurality of components.
-
Citations
21 Claims
-
1. An apparatus, comprising:
-
a processor configured to execute instructions included in a web application accessible through a web browser, the instructions including; instructions to select a plurality of executable software components, each of the plurality of executable software components including at least one of an input or an output; instructions to establish data connections with the plurality of executable software components so as to establish a processing order for the plurality of executable software components, wherein each component includes at least one of an input configured to receive input data in the processing order or an output configured to provide output data in the processing order, and the plurality of executable software components and the processing order forming a configurable pipeline, the data connections including; a plurality of control channels for the plurality of executable software components, each control channel established between the web application and an executable software component of the plurality of executable software components, the plurality of control channels enabling the web application to control the plurality of executable software components; and a plurality of data channels for the plurality of executable software components, each data channel established between one of the web application and an input or an output of each executable software component, or an input of one executable software component and an output of another executable software component, to pass data between the data channels to form the processing order; and instructions to process a media stream through the configurable pipeline by decoding or encoding the media stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An apparatus, comprising:
-
a processor configured to execute instructions included in a web application accessible through a web browser, the instructions including; instructions to establish at least one configurable decoder pipeline, each configurable decoder pipeline including; a source input for accepting encoded media specified by the web application, a processing component for processing the accepted encoded media, and a renderer for rendering the accepted encoded media to one or more output devices; a plurality of control channels, each control channel established between the web application and one of the source input, the processing component or the renderer, the plurality of control channels enabling the web application to control the source input, the processing component or the renderer; and a plurality of data channels to pass data through the configurable decoder pipeline, each data channel established between one of; the web application and an input or an output of the source input, the processing component or the renderer; an input of the processing component and an output of the source input;
oran input of the renderer and an output of the processing component; and instructions to process a media stream through the at least one configurable decoder pipeline, wherein the media stream includes audio and video streams and a first configurable decoder pipeline includes a demuxer to split the video and audio streams for separate processing.
-
-
16. A method, comprising:
-
obtaining a web application by a web browser; executing, using a processor, instructions of the web application to; select a plurality of executable software components, each of the plurality of executable software components including at least one of an input or an output; create at least one configurable pipeline that includes the plurality of executable software components by establishing a plurality of control channels, each control channel established between the web application and an executable software component of the plurality of executable software components, the plurality of control channels enabling the web application to control the plurality of executable software components to process a media stream in a processing order; and configure the plurality of executable software components to pass data by establishing a plurality of data channels, each data channel established between one of the web application and an input or an output of each executable software component, or an input of one executable software component and an output of another executable software component; obtaining a media stream; and processing the media stream using the at least one configurable pipeline in the processing order. - View Dependent Claims (17, 18, 19, 20)
-
-
21. An apparatus, comprising:
-
a memory; and a processor configured to execute instructions stored in the memory to; obtain a web application by a web browser, select a plurality of executable software components based on instructions of the web application, each of the plurality of executable software components including at least one of an input or an output; create at least one configurable pipeline that includes the plurality of executable software components by establishing a plurality of control channels, each control channel established between the web application and an executable software component of the plurality of executable software components, the plurality of control channels enabling the web application to control the plurality of executable software components to process a media stream in a processing order; configure the plurality of executable software components to pass data by establishing a plurality of data channels, each data channel established between one of the web application and an input or an output of each executable software component, or an input of one executable software component and an output of another executable software component; obtain a media stream; and process the media stream using the at least one configurable pipeline in the processing order.
-
Specification