织梦CMS - 轻松建站从此开始!

罗索

在Symbian平台上实现H264的RTSP流的播放

jackyhwei 发布于 2012-01-04 14:16 点击:次 
程序连接的rtsp地址为rtsp://88.107.126.1:3838/live.3gp,图像质量为CIF ,5FP/S,32KB。该视频服务器位于英国,有兴趣的朋友可以试试看。该程序还实现了对远端的云台控制,控制镜头的移动和缩放,丰富了手机监控的功能。
TAG:

随着目前手机监控市场的快速发展,手机监控因其可以实现真正的“AnyTime、AnyWhere、AnyDevice”(任何时间、任何地点)而收到越来越多安防企业的重视。目前的智能手机操作系统主要被Symbian、Wince和Linux占有。要真正实现手机监控的”AnyDevice”( 任何设备),最少要支持上述三种的手机操作系统。由于Wince和 Window开发平台的相似性,目前Wince平台上的H264的解码库有很多开源的代码可以参考, 网上可以参考的代码主要有ffmpeg、JM、T264,x264等。我在网上搜索了Symbian上的H264的解码库,发现根本没有开源的项目可以参考,所以本文主要关注在Symbian平台下实现上述功能。

系统的结构如下图所示:

 

090212103793931.jpg

视频服务器实现了双码流,这样即可以保证普通监控的要求,又可以保证满足手机监控等特殊需求。考虑到实际网络的带宽,解码能力等因素,手机上推荐使用CIF或者QCIF的分辨率,帧率最好控制在15帧以下。

软件的框架如下图所示:

Net Engine模块主要负责向视频服务器获取数据, 实现了一个RTSP协议, 将控制信息和音视频的数据分别从RTSP包和RTP包中取出,送往视频流队列当中。具体的RTSP协议的协商可以参考RFC的文档。

Stream Data Queue模块主要用于负责存储音视频的数据, 没有什么需要详细说明的。

H264 video decoder模块主要负责视频数据的解码。解码库采用的是移植过的ffmpeg, 这是这个程序当中花费时间最长的部分, 对ffmpeg的移植最主要要主要内存对齐,并且有些在PC上可以用的参数在Symbian平台下需要进行断点调试修改后才可以使用。

AMR audio decoder和AAC audio decoder可以在网上寻找纯C的代码,稍加移植即可使用。建议可以先在Window平台下面调试通过在移植到symbian平台上面。

在Symbain中,RGB颜色的实际存储方式实际上是BRG顺序。如红色实际上保存为0x0000FF而非0x00FF0000。所以如果有其他平台用到Symbian中的颜色的话,请注意转换。Ffmpeg解码输出鱼yuv420,在PC上可以转换成RGB565显示, 在Symbian上需要转换成BGR565。

转换的部分可以参考MobiFLV项目的YUVToRGB.h和YUVToRGB.cpp两个文件, 作者对转换的过程采用了查表优化,效率很不错,另外该类支持按比例对视频进行缩放,效果不错。

视频显示可以使用CFbsBitmap进行贴图显示,但这样的效率不是最高。使用CDirectScreenAccess类直接写屏,可以得到更高是效率。音频直接调用系统的CMdaAudioOutputStream 类进行播放即可。

播放的效果如下图所示,

                                                           竖屏

                                                              横屏

 

以上的程序连接的rtsp地址为rtsp://88.107.126.1:3838/live.3gp,图像质量为CIF ,5FP/S,32KB。该视频服务器位于英国,有兴趣的朋友可以试试看。该程序还实现了对远端的云台控制,控制镜头的移动和缩放,丰富了手机监控的功能。

程序在E71,N81,N95上面测试通过。

缺点 : 当接入点选择cmwap时,无法连接视频流, 因为服务器端没有做RTSP流代理功能,客户端需要做移动网关的穿透。考虑到cmwap的速度很慢和未来网络的发展,实现的意义并不是很大,所以放弃了该部分的工作。

有兴趣的朋友可以联系我,一起交流学习。 ppnext@163.com

 

(asddg67)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201201/15585.html]
本文出处:CSDN博客 作者:asddg67 原文
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容