An nice RTP book
Just finished the reading of book RTP: Audio and Video for the Internet.
It is an old book published at 2003, but is still the best book for RTP related topics.
Maybe 4-5 years ago, the live streaming is becoming more and more popular in China. Many companies use RTMP as the streaming protocol and with CDN support, they create a lot of live stream apps very quickly.
But for RTMP, the typical delay is 3-5 seconds, and is not suitable for some cases which require more strictly on delay. One of them is the online education. So RTMP can't make it, which one can?
Here comes webrtc! Many companies realize that RTMP and the transport protocol under it-TCP is not proper for this case, but webrtc which uses RTP and UDP is designed for this scenario for a long time.
But they have problems. UDP is simple, while RTP is complicated. They can't create an app quickly with webrtc. There are a lot of open source projects for webrtc, but none of them is like nginx-rtmp which you can setup and is works just as excepted.
One of the reason is that RTP is a complicated protocol and especially with UDP. It is like the application protocol since it is above UDP, while actually it is more beyond that, and has many functions for transport layer, and even codec and encryption layer.
This book starts with the case for internet with voip, and after introduces the design consideration for RTP and RTCP (the Application Level Framing), it introduces the details for two protocols. The most import sections includes timing, lip sync, error concealment and error correction, and congestion control.
It also covers header compression, multiplexing, and tunneling, but I don't think these technics are useful now. Since RTP is complex already, with these techniques you will be lost.
At the last it covers SRTP, which is the secure version of RTP is now the standard protocol in webrtc.