Codecs and protocols needed for video streaming

This article presents all codecs and protocols that are supported by Ozeki Camera SDK. Using this guide you can find out all you need to know about codecs and protocols that are essential for video streaming.

Codecs needed for video streaming

A codec is a device or computer program that is used for encoding and/or decoding digital data stream or signals. Codecs help convert analog voice signals to digitally encoded version. There is a wide range of different codec types as codecs according to their bandwidth, sound quality or computational requirements, etc. can be varied.

Codecs encode data streams or signals to be able to transmit, store or encrypt them, or decode signals for playback or editing. Codecs are used for transmiting video calls and streaming media applications.

Audio compressors convert analog audio signals into digital ones for transmission or storing purposes. The receiver device can convert the digital signals back to analog ones with the use of an audio decompressor for listening.

Video compressors convert analog video signals into digital ones for transmission or storing purposes. The receiver device can convert the digital signals back to analog ones with the use of an video decompressor for watching.

Lossy codecs: lossy refers to the fact that this compression methods reduce the quality of the original sound or video. There are algorithms used to create the impression of data being there.

Lossless codecs: These types of codecs are used to archive data in a compressed form in a way that all information of the original stream is kept. They are the proper choices if it is more important to retain the original quality than reduce data sizes (especially in cases when the data undergoes further processes).

General Information

Codec name Creator Implementations (codecs) Application Patented
G.711
ITU-T various VoIP software voice recording, telephony No
G.726
ITU-T various VoIP software voice recording, telephony No
H.264
ITU-T Video Coding Experts Group (VCEG) together with the ISO/IEC JTC1 Moving Picture Experts Group (MPEG). DivX, Xvid and Nero Digital recording, compression, and distribution of video content Yes
mp4v-es
MPEG low-resolution surveillance IP cameras to high definition TV broadcasting and DVDs recording, compression, and distribution of video content n.a.

Technical details

Codec name Algorithm Sample Rate Bit rate Bits per sample Latency CBR VBR Stereo Multi -
channel
G.711
companding A-law or μ-law, PCM, Lossy 8 kHz 64 kbit/s 13 bit 0.125 ms Yes No No No
G.726
ADPCM, Lossy 8 kHz 16, 24, 32, 40 kbit/s 13 bit 0.125 ms Yes No No No
H.264
n.a. n.a. 64-240000 kbit/s 8-14 bit n.a. n.a. Yes n.a. n.a.
mp4v-es
n.a. n.a. n.a. n.a. n.a. n.a. n.a. n.a. n.a.

Protocols needed for video streaming

Protocol is a generic term, a standard that describes how the respective participants communicate with each other. For transmitting audio and video packets between computers that communicate with each other the Real-Time Protocol (RTP) is used worldwide. But before audio or video media are transmitted between computers, other protocols need to used to find the remote device and to define the means by which media will be transmitted between the two devices. These are call-signaling protocols, such as Session Initiation Protocol (SIP).

Onvif connections can be described with the following protocols:

  1. SIP: Session Initialization Protocol

    Session Initiation Protocol (SIP) is IETF signaling protocol used for multimedia communication sessions such as voice and video calls over Internet Protocol (IP). SIP can be used for creating, modifying and terminating two-party (unicast) or multiparty (multicast) sessions. For example internet telephone calls, multimedia distribution, multimedia conferences, instant messaging etc.

  2. UDP: User Datagram Protocol

    The User Datagram Protocol (UDP) belongs to the Internet Protocol Suite that is a set of network protocols for the Internet. UDP makes it possible for the computers to send messages. UDP supposes that error checking and correction is not necessary. Time-sensitive applications often employ UDP as real-time system that prefers dropping packets instead of waiting for delayed ones.

  3. SDP: Session Description Protocol

    The Session Description Protocol (SDP) conveys information on media streams in multimedia sessions in order to allow recipients of a session description to participate in the session. It is mainly used in inter-network but it can also describe conferences in other network environments. SDP is often used together with RTP, SIP or as a standalone format.

  4. RTSP: Real Time Streaming Protocol

    The Real Time Streaming Protocol (RTSP) is an application-level protocol that is used/can be used for controlling the delivery of data with real-time properties. RTSP provides an extensible framework to enable controlled, on-demand delivery of real-time data, such as audio and video. Sources of data can include both live data feeds and stored clips.

  5. RTP: Real-time Transport Protocol

    Real-time Transport Protocol specifies a standardized packet format that is applied for the transmission of multimedia data such as audio and video over the Internet. RTP ensures end-to-end multimedia data delivery with real-time characteristics. Practically it means that with the implementation of RTP it is possible to deliver interactive video or audio data.

  6. RTCP: Real-Time Control Protocol

    The Real-Time Transport Control Protocol (RTCP) is a companion protocol of the Real-time Transport Protocol (RTP) the one used to send and receive most media over IP these days. RTCP gathers statistics for a media connection and information. RTCP gives information on transmitted octet and packet counts, lost packet counts, jitter, and round-trip delay time.

  7. H323 Protocol

    H.323 is an ITU VOIP protocol. It provides a foundation for audio, video, and data communications across IP-based networks, including the Internet. It is implemented by voice and video conferencing equipment manufacturers, real-time applications and is deployed worldwide by service providers and enterprises for both voice and video services over IP networks.

Related Pages

More information