视频监控中对RTP和mpeg-4及H.264的应用

by chuckGao 09

(序)

对于视频监控产品的开发我还只是在入门阶段。在此过程中,开始进一步了解RTP协议(包括RTCP)和mpeg-4编解码(基于xvid)以及H.264(基于x264)的开发及应用。整个项目建立在Davinci DM6446及web服务器上,这里是我的笔记。会在项目进行中加以删减修正。

 

一、关于RTP你不得不了解的几个问题

      在此之前,笔者已简单的接触过基于jrtplib库的应用,不过因为本次项目关系,舍弃了jrtplib的C++风格,转而从RTP协议开始研究,以期望能用C写出适于项目的RTP应用。在开始行动之前,下载了RTP的协议规范RFC-3550,基于mpeg-4负载的RTP负载协议RFC-3016和基于mpeg-4负载的RTP负载协议RFC-3984以及开源的rtplib作为参考。

 

(1)关于mpeg-4与h.264负载类型

   在深入理解RTP协议前,我先从其负载类型开始,对我关心的数据格式进行了研究。对于现有的RFC协议规范,并没有确定mpeg-4与h.264这两种负载类型的有效载荷码。也就是说,我们必须通过SDP自定义其有效负载码。关于有效负载码的说明,也有MIME形式的定义,不过这里仅就SDP方式进行说明。

1.有效负载码用在对RTP包RTP header的定义中。其长度为7 bits

2.现有的有效负载码在RFC-3551中定义,所支持的格式列表在这里给出。

3.对于mpeg-4和h.264的载荷码,我们用下面的方式自定义。我们可以从2中给出的列表中发现,对于有效载荷码96-127这个范围,都是通过SDP动态创建

你可能感兴趣的:(视频监控中对RTP和mpeg-4及H.264的应用)