基于JRTPLIB库的RTP数据传输设计文档

  

.         概述

.         流媒体传输系统设计与实现

1.    Linux平台实时流媒体编程

1)    PC机上的环境搭建

2)   嵌入式版的环境搭建

3)   初始化

4)   数据发送

5)   数据接收

2.    Window平台实时流媒体编程

3.   具体流程图

.         调试记录

.         存在的问题和拟采取的解决方案

.         作者简介


一.   概述

    此模块是在基于S3C2440的嵌入式开发板上实现对摄像头采集并经过H.264压缩过的数据的RTP传输,这里边使用的H.264编码属于软编码,需要向PC机和嵌入式设备上移植相同版本的软编码库文件,并在接收端PC上能正确接收的功能。

        RTP即实时传输协议,用于Internet上针对多媒体数据流的传输。它通常使用UDP协议来传送数据,起初是为了“multicast”传输情况而设计的,目的是提供时间信息和保证流同步,不过现在也用于一对一的传输情况。RTP协议主要完成对数据包进行编号,加盖时戳,丢包检查,安全与内容认证等工作。通过这些工作,应用程序会利用RTP协议的数据信息保证流数据的同步和实时传输。

二.   流媒体传输系统设计与实现

1.         Linux平台实时流媒体编程

RTP是目前解决流媒体实时传输问题的最好办法,如果需要在Linux平台上进行实时流媒体编程,可以考虑使用一些开放源代码的RTP库,如LIBRTPJRTPLIB等。 JRTPLIB是一个面向对象的RTP库,它完全遵循RFC 1889设计,我拟采用JRTPLIB实现RTP/RTCP协议,下面就以JRTPLIB为例,讲述如何在Linux平台上运用RTP协议进行实时流媒体编程。

1)        PC机上的环境搭建

JRTPLIB是一个用C++语言实现的RTP库,目前已经可以运行在WindowsLinuxFreeBSDSolarisUnix VxWorks等多种操作系统上。要为Linux 系统安装JRTPLIB,首先从JRTPLIB的网站(http: //research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib)下载最新的源码包,此处使用的是jrtplib-3.7.1jthread-1.2.1(控制线程库)。假设下载后的源码包保存在/root目录下,对其进行解压缩,接下去需要对JRTPLIB进行配置和编译:

         [root@linuxgam src]# cd jrtplib-3.7.1
  
[root@linuxgam jrtplib-3.7.1]# ./configure
  [root@linuxgam jrtplib-3.7.1]# make


最后再执行如下命令就可以完成JRTPLIB的安装:

        [root@linuxgam jrtplib-3.7.1]# make install

 

再进入jthread-1.2.1目录下重复以上操作:

         [root@linuxgam src]# cd jthread-1.2.1
  
[root@linuxgam jrtplib-3.7.1]# ./configure
  [root@linuxgam jrtplib-3.7.1]# make

        [root@linuxgam jrtplib-3.7.1]# make install

 

生成的动态库安装到了/usr/local/lib目录下

头文件在/usr/local/include目录下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值