Media Nodes

Media Nodes are the components responsible for generating, manipulating, and publishing media streams. They come in the following flavours:

  • Input - nodes that allow you to get media into your workflow (e.g. SRT, RTMP, SDI…​)

  • Output - nodes that publish and allow you to view the results of your workflow (e.g. CMAF, multicast transport streams, RTMP…​)

  • Duplex - nodes that can act as an input, an output or both at the same time (e.g. WebRTC)

  • Processor - nodes that "process" your media. These are further classified by:

    • Transform - ways to change the media (merge audio, change gain, compose video streams together, build ABR ladders…​)

    • Control - nodes that don’t necessarily change the media, but allow you to monitor or control it. Examples include monitoring loudness levels or stream statistics (bitrate etc), and switching between media streams (go from publishing camera 1 to camera 2).

We now need to look at how you can wire these media nodes together to enable media to flow through your application. This is handled by subscriptions, but before looking at them in detail we need to understand media contexts.