By chuckgao 09
(Sequence)
I am only at the entry stage for the development of video monitoring products. In this process, we will begin to learn more about the development and application of RTP protocol (including RTCP), MPEG-4 codec (based on Xvid), and H.264 (based on x264. The entire project is built on DaVinci dm6446 and the Web server. Here is my note. Will be removed and modified in the project progress.
1. Several questions you have to know about RTP
Before that, I have been familiar with jrtplib-based applications. However, due to the project relationship, I abandoned the C ++ style of jrtplib and started to study the RTP protocol, in the hope that C can be used to write RTP applications suitable for the project. Before starting the operation, download the RTP protocol specification RFC-3550, RTP load protocol RFC-3016 Based on MPEG-4 load, RTP load protocol RFC-3984 Based on MPEG-4 load and open source rtplib as a reference.
(1) about MPEG-4 and H.264 load types
Before in-depth understanding of the RTP protocol, I first studied the data formats I care about from the load type. For the existing RFC protocol specifications, no payload codes for MPEG-4 and H.264 are identified. That is to say, we must use SDP to customize its payload code. The description of the payload code is also defined in the mime form. However, here we only describe the SDP method.
1. the payload code is used in the definition of RTP Header. Its length is 7 bits
2. The existing payload code is defined in the RFC-3551 and the list of supported formats is given here.
3. for MPEG-4 and H.264 load codes, we use the following method to customize them. We can find from the list given in 2 that the range of the payload code 96-127 is dynamically created through SDP.