RTP(实时传输协议)一般比较少单独的使用,它一般会与其他的协议一同运行。比如RTSP(实时流传输协议)它就同时包含了RTP,RTCP和RTSP协议在里面。但是在某些系统资源非常少的系统,RTP协议的独立使用就显得比较的重要。RTP协议总的来说不算非常复杂,但如果每一个标志位都需要用户自己手动来解析,那么使用RTP协议就显得非常的复杂了。jrtplib 是一个C++库,它封装好了RTP协议操作所需的接口,使RTP协议更容易操作。
与live555 相比,jrtplib库非常小,适用于系统资源小的嵌入式设备。在学习jrtplib之前需要对RTP和RTCP协议有所了解。至于他们协议的具体定义,网上有很多资料介绍,也可以直接看协议文档,我之前的博客也有转载一些自认为比较好的RTP和RTCP协议介绍。在实际应用中,我们可能不是P2P的传输,也可能是多播或是广播数据,所以这里会涉及到网路的多播和广播的使用。
RTP和RTCP的具体使用
linux 网络编程中的多播和广播
jrtplib的具体使用实例
在测试的时候,可以使用VLC或是Mplayer 流播放器 建立流服务器,也可以使用它们接收RTP,RTSP等流媒体。