基于IPV6的嵌入式视频监控系统
3. 软件总体结构与设计
系统软件设计包括服务器端和客户端软件设计。服务器端软件主要实现采集音视频、压缩编码、打包发送到网络。客户端软件主要实现接受服务器发送过来的音视频压缩包,然后对数据拼接解码、播放,如图 4所示。
3.1MPEG-4视频流的 RTP组包处理
要通过 RTP传输 MPEG-4视频流,需要对其进行打包 (Packetization)处理。加上时间、同步等信息。MPEG-4对每个 voP (voP是 VO在某一时刻的对象,即某一帧 vo)独立进行编 / 解码。因此以 VOP为单位进行打包,既提高了效率又充分利用了 MPEG-4的编码特性。为了不造成 IP碎片,包长还须有一个限制,就是不能超过该网络路径的 MTU(Maxium Transit Unit)。考虑到传输的高效性和丢包的鲁棒性,我们取包长为当前 VOP大小与路径 MTU值的较小值,采用如下组包机制:
1 VOP能放入单个 RTP包,就把此 VOP单独放入一个 RTP包中;
2 VOP分段,放入多个 RTP包,此时须把 VOP头部信息复制到每个 RTP包,以去除包间的相关性,达到丢包的鲁棒性 :为减小包数,降低开销,一包中能放入多少宏块就尽可能多地放入多少宏块,但即使最后一个包中仍有剩余空间,也小能把另一 VOP中的宏块放入此包中,算法流程如图 5所示。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论