此模块是在基于S3C2440的嵌入式开发板上实现对摄像头采集并经过H.264压缩过的数据的RTP传输,并在接收端PC上能正确接收的功能。
RTP即实时传输协议,用于Internet上针对多媒体数据流的传输。它通常使用UDP协议来传送数据,起初是为了“multicast”传输情况而设计的,目的是提供时间信息和保证流同步,不过现在也用于一对一的传输情况。RTP协议主要完成对数据包进行编号,加盖时戳,丢包检查,安全与内容认证等工作。通过这些工作,应用程序会利用RTP协议的数据信息保证流数据的同步和实时传输。
1. Linux平台实时流媒体编程
RTP是目前解决流媒体实时传输问题的最好办法,如果需要在Linux平台上进行实时流媒体编程,可以考虑使用一些开放源代码的RTP库,如LIBRTP、JRTPLIB等。 JRTPLIB是一个面向对象的RTP库,它完全遵循RFC 1889设计,我拟采用JRTPLIB实现RTP/RTCP协议,下面就以JRTPLIB为例,讲述如何在Linux平台上运用RTP协议进行实时流媒体编程。
1) PC机上的环境搭建
JRTPLIB是一个用C++语言实现的RTP库,目前已经可以运行在Windows、Linux、