Media Server Architecture
The following diagram shows the architecture of Media Server.
A Media Server engine performs a single function such as ingestion or analysis. There are several types of engine:
- Ingest engines bring information into Media Server for processing. Images might be decoded or extracted from documents; video must be demuxed and decoded into audio, video, and metadata.
- Analysis engines run analysis on ingested media to extract information about its content. Each engine performs a different type of analysis.
- Event stream processing engines can be used to introduce additional custom logic into analysis. For example, you can filter or deduplicate the information produced during analysis. Event stream processing can change the schema of the data.
- Transform engines transform data. For example, you can change the size of video frames before sending them to the image encoder.
- Encoding engines write a copy of ingested video to disk, or encode it into different formats. Some encoding engines, such as the MPEG encoder, can produce a live UDP stream that you can view in a media player.
- Output engines convert the metadata produced by Media Server into different formats and send it to other systems such as IDOL Server or a Vertica database.
Information is passed between engines in the server. For example, an ingest engine decodes video and produces video frames and uncompressed audio for the other engines to use. Analysis engines run analysis on the decoded data. Output engines take information from the analysis engines and index it into other systems, such as IDOL Server.