Patent ID: 8856212

Claim:
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.