无线视频传输系统的设计.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《无线视频传输系统的设计.docx》由会员分享,可在线阅读,更多相关《无线视频传输系统的设计.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、无线视频传输系统的设计(无线通信技术杂志)2014年第二期1视频数据的采集和编码11基于V4L2的视频数据采集设计V4L2(VideoforLinuxTwo)是V4L的改良版,V4L2改良了V4L中的缺乏,具有更好的扩展性和灵敏性,并且支持的硬件设备更多。利用V4L2接口函数获取视频帧数据有3种方式:read、write方式,用户指针方式,内存映射mmap方式。本系统通过内存映射方式采集,采用这种方法不仅读取方便,而且省去了大量的内存拷贝,效率较高8。视频采集经过如图3。(1)打开视频设备文件。fd=open(Device-name,mode);第一个参数是注册在/dev/目录下的设备名,打开
2、形式可分为阻塞和非阻塞形式。(2)获取设备属性。调用函数ioctl(fd,VIDIOC_QUEYCAP,cp)获取打开设备文件的相关参数并存放到cap构造中。(3)设置视频的制式和帧格式。调用函数ioctl(fd,VIDIOCS_FMT,fmt)设置捕获图像的存储格式、宽带、高度、像素大小等。(4)申请帧缓冲区,并进行内存映射。调用函数ioctl(fd,VIDIOC_EQBUFS,req)向内核申请reqcount个帧缓存。通过VIDIOC_QUEBUF获取缓存帧在内核空间的地址,通过mmap方式将内核空间中的内存映射到用户空间。(5)采集视频数据。调用函数ioctl(fd,VIDIOC_ST
3、EAMON,type)将数据存放到缓存中。(6)处理采集的数据。当应用程序将最先采到的一帧数据取走时,帧缓冲重新放入队列尾,进而循环采集数据。(7)关闭视频设备。调用close(fp)实现设备的关闭。12基于MFC的H264编码设计本系统利用S3C6410提供的MFC硬件编解码器实现了H264标准的视频压缩。硬编码具有不占用CPU资源,运算速度快等优点,进而知足视频数据实时性的要求。H264编码器要求输入数据为YUV420格式,而V4L2输出的视频数据是YUV422格式,因而在完成编码工作之前,要利用函数DoConvert()将YUV422格式转换为YUV420格式。编码的经过如图4。(1)创
4、立H264编码器。调用函数Ssb-SipH264EncodeInit(width,height,frame_rate,bitrate,gop_num)实现。(2)设置编码器参数,初始化H264编码器,分别调用函数SsbSipH264EncodeSetConfig(handle,type,value)和函数SsbSipH264EncodeExe(handle)来实现。(3)获取要编码的视频数据的输入缓冲区地址,调用SsbSipH264EncodeGetInBuf(handle,0)来实现,该函数返回视频数据的输入地址。(4)读取要编码的视频数据,调用函数memcpy(p_inbuf,in_add
5、r,frame_size)将需要编码的视频数据复制到上一步骤的输入缓冲区中。(5)编码视频数据,调用函数Ssb-SipH264EncodeExe(handle)实现H264编码。(6)输出已编码的视频数据,调用函数Ssb-SipH264EncodeGetOutBuf(handle,size)获取编码后数据的输出缓冲区和编码数据大小。(7)关闭设备,调用函数Ssb-SipH264EncodeDeInit(handle)释放编码器资源,并且关闭MFC设备。图4H264编码流程图2视频数据的传输21基于TP/TCP的流媒体实时传输设计为知足视频监控实时性的要求,需要TCP(实时传输控制协议)和TP(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 无线 视频 传输 系统 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内