Hi:欢迎来到中国论文网     

所有论文科目分类

中国论文网 > 免费论文 > 计算机论文 > 计算机软件 >

浅谈基于MPLAYER 的RTSP 客户端设计与实现

作者:2015-06-12 14:57文章来源:未知

  近年来,流媒体技术越来越多的被用到诸如视频会议、视频监控等诸多领域。尽管流媒体技术在PC 领域的发展已经较为成熟,但是在嵌入式领域,仍然有着重要的研究意义。

  文章在arm-linux 上,通过移植开源库LIVE555 和开源播放器MPLAYER,并将两者联合编译,实现了RTSP 的客户端软件设计。实现通过IP 地址接受服务器端传输过来的RTSP 码流,并解码播放。

  1 需求分析

  RTSP 协议,即实时流传输协议,定义了一对多应用程序如何有效地通过IP 网络传送多媒体数据。RTSP 协议以客户端和服务器方式工作,要实现RTSP 的控制功能,需要有专门的媒体播放器(mediaplayer)和媒体服务器(media server)。媒体服务器与媒体播放器的关系是服务器与客户端的关系。

  文章系统针对的是RTSP 客户端软件设计。需要能接收到网络传过来的码流数据,并进行RTP 解包,H264 解码,并实时播放。考虑到实际情况,采用了LIVE555+MPLAYER 的方案。

  2 LIVE555 及其移植

  LIVE555 是一个为流媒体技术提供解决方案的跨平台开源项目,它采用了C/S 架构,能够支持广播、单播和组播等通信模式,同时支持RTP/RTCP,RTSP 等高效流媒体传输协议,它是目前实现rtsp协议最高效的开源代码,能很方便的移植到各种嵌入式系统中,而且该开源项目更新速度很快,所以文章选择了LIVE555 作为解决方案。

  本系统在设计时使用LIVE555 的官方源代码live.2015.02.01.tar.gz,下面介绍LIVE555 的配置、安装、移植步骤:

  (1)下载LIVE555 源文件live.2015.04.01.tar.gz,并解压到/usr/local/lib/目录中。(2)修改编译器。修改config.armlinux 文件,替换为ARM 版本的编译器,CROSS_COMPILE=arm-none-linux-gnueabi-。(3)生成makefile。./genMakefile config.armlinux.(4)Make。可以看到开发包中多了很多新文件,至此,移植完成。编译完成后,找到Test-Progs 文件夹中的文件openrtsp 和testRTSPclient,将其拷贝到ARM中。

  ARM 上电后,执行./openrtsp rtsp://192.168.1.100/Stream1.h264,可以看到能接收到服务器端发送过来的视频流,并将接收到的视频流的帧率,时间戳等信息打印到了屏幕上。

  执行./openRTSP -F microcreat- rtsp://192.168.196.100/1.h264,可以看到LIVE555 将接收到的码流以H264 格式将数据保存了下来,此H264 文件是可以直接播放的。

  3 MPLAYER 及其移植

  文章选择了用开源播放器对RTSP 码流进行RTP 拆包的设计方案。而作为目前最优秀的播放器之一的MPLAYER,能够播放大部分流行的音视频格式文件,如MP3,WMV,RM,MPEG,VOB,AVI 等,同时支持嵌入式linux 系统,可移植性强,占用资源少,播放效果佳,因此文章选择了MPLAYER 作为解决方案。

  本系统在设计时使用Mplayer 最新的官方源代码MPlayer-1.Orc2.tar.bz2,下面介绍Mplayer 的配置、安装、移植步骤:

  (1)下载压缩文件,并解压MPlaye:源文件MPlayer-1.Orc2.tar.bz2。

  (2)在MPlayer-1.Orc2 文件夹下执行如下配置文件,如下:

  ./configure-host-cc=gcc-cc=arm-none-linux-gnueabi-gcc-target=arm-linux-enable-static l-disable-dvdnav-disable-libdvdcss-internal-enable-fbdev-enaable-live-enable-x264-prefix==/opt/arm_mplayerdisable-ivtv-codecsdir= /home/mplayer/essential-20071007

  其中:-cc=arm-none-linux-gnueabi-gcc 是用来指定编译器的,-target=arm-linux 是用来指出所编译的是目标版本是ARM-LINUX版本的,需要特别指出的是,enable-x264 是用来使能X264 编码库的,如果不使能则不能播放H264 视频,-enaable-live 这个选项是用来使能LIVE555 库的,一定不能少,否则不能接受码流。同时注意查看是否支持LIVE555,如果不支持,则需要执行:

  ./configure -extracflags=-I

  (3)执行命令:make。至此,得到了mplayer 可执行文件。将其拷贝到目标版arm 上即可。

  由于mplayer 默认使用fb0 进行播放,而本课题系统标清显示接口所对应的驱动为fb2,所以在运行示例程序前需要告知mplayer使用哪个fb 驱动,执行命令修改fb 默认使用通道,如下:

  #export FRAMEBUFFER=/dev/fb2

  #./mplayer -vo lbdev <播放文件名> //播放本地视频文件

  #./mplayer -vo lbdev rtsp://192.168.196.100/1.h264 //接收网络码流并播放

  通过以上方法,就得到了RTSP 的客户端软件,可以通过以上命令播放本地视频文件。同时也通过url(rtsp://192.168.196.100/1.h264)接收网络传过来的码流,并进行RTP 解包播放。

  4 结束语

  RTSP 的客户端设计有各种各样的方法,但是大部分都是针对不同的平台有着不同的解决方案,而文章所设计的系统具有很强的移植性,所有的ARM-LINUX 均可以采用文章所设计的系统建立RTSP 客户端,为相关应用提供了参考解决方案,有着重要的研究和应用意义。

最近相关

中国论文网

最新更新

热门推荐

[人文社科]英语广告语的特点与翻译原则
这是一篇关于英语广告语的特点与翻译原则的文章,掌握广告语的语言特点和翻译原则将有助于目标语读者了解产品功能,诠释...[全文]
[人文社科]基于跨文化的旅游英语翻译原则
这是一篇关于基于跨文化的旅游英语翻译原则的文章,跨文化视角下的旅游英语翻译,我们应尝试从读者的主观性理解以及本地...[全文]
[人文社科]中国传统节日中秋节的英译
这是一篇关于中国传统节日中秋节的英译的文章,中国传统文化的翻译,是随着时代变化而随之变化的。传统节日的中英翻译...[全文]
[人文社科]高职英语翻译教学中的问题与提升措施
这是一篇关于高职英语翻译教学中的问题与提升措施的文章,为了提升英语翻译教学的有效性,教师要不断地提升自身的综合素...[全文]
[理工论文]在现代城市建设中测绘工程中的作用
这是一篇关于在现代城市建设中测绘工程中的作用的文章,要需不断对测绘技术、测绘设备进行研究开发,不断革新,只有这样...[全文]
[理工论文]农业综合水利项目建设管理问题与解决措施
这是一篇关于农业综合水利项目建设管理问题与解决措施的文章,一定要提高设计人员对水利工程项目建设规划设计的重视度...[全文]

热门标签