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:
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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
- Introduction to Onvif technology
- Introduction to Ozeki Camera SDK
- Data Sheet for Ozeki Camera SDK
- Ozeki Camera SDK package contents
- Hardware and software reqirements for Ozeki Camera SDK
- Ozeki Camera SDK product activation
- Codecs and protocols supported by Ozeki IP Camera SDK
- Wireshark Log