Terms and Definitions

For the purposes of this documentation store, we will use the following terms and definitions.

General Terms

  • format

    A defined organization of binary data within a computer file. For example, an Excel spreadsheet file contains ‘formatted’ binary data that represents a spreadsheet, or an MP3 file is a format for encoding music or other audio.

    Example formats used for compressing video:

  • stream

    Either:

    • A binary representation of video, audio, or other media objects (usually in an encoded format like H264, H265, MP3, etc.).

    • The act of transporting a binary video, audio, or other media object across a network.

  • container

    Either:

  • encoder

    A function or software library that can take raw stream data (video, audio, etc.) and ‘encode’ it into a specific format (for example, H264, H265, AAC).

  • decoder

    A function or software library that can take a encoded stream data (video, audio, etc.) and ‘decode’ it into raw data.

  • codec

    Either:

    • A function or set of software that combines encoders or decoders to be able to both read and write data streams in a specific format.

    • A family of binary representation formats (that can serve as encoders or decoders). For example, an H264 codec can decode and encode streams using the H264 format for representing video objects.

  • transcoder

    Similar to a codec, a function or set of software that decodes streams in one format, and then encodes the stream into another, different format.

  • muxer

    A function or set of software that can take multiple decoded/encoded streams and transform the streams to fit different output requirements (for example, one muxer may output video files suitable for live streaming, while a different muxer may output video files suitable for long term storage). “Muxer” is short-hand for either a “multiplexer” or a “demultiplexer.”

  • DMAC

    Data Management and Computation, used to refer to software products that provide the following services:

    • Public or private hosting of data.

    • Data retrieval, ingestion, and quality assurance of data.

    • Computation and transformation on data.

Network Protocols

The following tools, standards, and protocols will be referenced in this documentation frequently.

  • TCP

    Transmission Control Protocol, a networking protocol built on top of IP networks that allows for the reliable transmission of data packets between network devices. Used where the correct and in-order delivery of packets is required to implement data transmission (at the cost of increased overhead and latency).

    See:

  • UDP

    User Datagram Protocol, a networking protocol built on top of IP networks that allows for the transmission of data packets between network devices, but without assurances for the reliability of packet delivery. Used where the reliability of data transmission is not absolutely required, or where reliability is assured in some other way.

    UDP is used often in lieu of TCP for streaming media due to its lower overhead and the relaxed requirements for video and audio streaming.

    See:

  • FTP

    File Transfer Protocol, a network protocol for transferring files, built on TCP.

    See:

  • RTSP

    Real Time Streaming Protocol, a networking protocol used to stream media content across an IP network. Makes use of both TCP and UDP connections to provide streaming services between a media consumer (a web browser, a mobile phone) and a media server (a program that implements the server portion of RTSP).

    See:

  • RTMP

    Real Time Messaging Protocol, a networking protocol used to stream media content across an IP network. Makes use of TCP connections to push streaming content from a media producer (a camera, a capture device) to a media server (a program that implements the server portion of RTMP).

    See: