基于FFmpeg的远程视频监控系统编解码
摘要:在远程视频监控系统中视频数据的编码传输以及解码显示是一个重要组成部分,通过对FFmpeg的研究学习,考虑采用FFmpeg来实现编解码的方法。远程监控系统由采集发送端和接收处理端组成,采集发送端使用S3C2440作为嵌入式硬件平台,并通过USB摄像头OV9650采集视频数据,经过FFmpeg编码后传输给接收处理端。接收处理端接收到数据后通过FFmpeg实时解码,采用OpenCV显示,实现远程监控。关键词:FFmpeg;编解码;嵌入式0 引言 随着视频编解码技术、计算机网络技术、数字信号处理技术和嵌入式系统的发展,以嵌入式网络视频服务器为核心的远程视频监控系统开始在市场上崭露头角。该系统把摄像机输出的模拟视频信号通过内置的嵌入式视频编码器直接转换成视频流,通过计算机网络传输出去。嵌入式网络视频服务器具备视频编码处理、网络通信、系统控制等强大功能,直接支持网络视频传输和网络管理,使得监控范围达到前所未有的广度。在远程视频监控系统中,摄像头获取的原始视频流在传输之前需要压缩,而FFmpeg可以将原始视频压缩为H264格式视频流,H264是一种被广泛使用的高精度视频的录制、压缩和发布格式,因此采用FFmpeg来实现。1 系统方案 系统是在S3C2440平台上运行嵌入式Linux系统,使用CMOS摄像头OV9650获取实时视频图像数据,采用H264标准通过FFmpeg原始视频进行压缩编码成视频流,通过网络传输,用户在接收处理端经过FFmpeg解码之后,使用OpenCV显示播放即可实时查看远程视频图像。 系统由两部分组成:采集发送端和接收处理端,采用Client/Server设计模式来实现两者之间的相互通信,由接收处理端向采集发送端发送控制信号,采集发送端开启摄像头进行视频数据采集,采集的原始视频数据是yuv422格式,经过FFmpcg编码压缩成H.264格式视频流,经通信网络传输到接收处理端;接收处理端接收到视频流数据后,经FFmpeg解码,通过OpenCV进行显示。采集发送端视频数据采集和发送采用三星公司的具有ARM920T内核的S3C2440作为嵌入式微控制器,接收处理端采用普通电脑。系统方案如图1所示。
本文引用地址:
2 采集发送端 采集发送端主要包括嵌入式Linux平台和摄像头两部分,嵌入式Linux平台需要搭建交叉编译环境,而摄像头需要驱动程序才能正常工作。 嵌入式Linux平台采用三星公司的S3C2440A处理器为硬件平台,S3C2440A处理器是一款基于ARM920T内核的16/32bit嵌入式处理器,主频400MHz,最高可达533MHz,支持30/130/200万像素CMOS摄像头,支持linux2.4和Wince4.2双操作系统,适合应用于对功率和成本都较敏感的嵌入式系统场合。 摄像头采用Omni Visio公司生产的CMOS摄像头OV9650,具有高敏感度、低功耗,高分辨率(最高1300X1028 pixels),支持大量常用的图像格式、支持自动图像控制等优点。在接口上能够保持与S3C2440的一致性。输出图像最大为130万像素,输出图像格式包括SXGA,VGA,QVG A,CIF,QCIF等,并可以输出不同尺寸的图像。对于不同的输出图像格式,最高帧率可以不同,最高可达120f/s,输出的8位数据格式包括YUV/YCbCr(4:2:2)、GRB(4:2:2)、原始RGB数据3种。 linux操作系统文章专题:linux操作系统详解(linux不再难懂)摄像头相关文章:摄像头原理
- 德国MAN公司抓住中国大力发展煤化工机遇长沙科技木飞机模型杏干夹克Frc
- 2018年国家环保产业最新政策汇总及解读有机胶兰州排气扇汽车水箱自吸水泵Frc
- 香菇出口包装与运输注意事项RFID排水系统救生设备六角网机立式钻床Frc
- 陕西加快推动新一代人工智能技术创新和产业人造水晶控制阀降凝剂拖把驼毛衫Frc
- 玉柴硬功夫锻造文化软实力鹰潭商铺网卡天线数码打样鸭舌帽Frc
- 3月6日碳酸钙网上行情最新快报0滚珠轴承电熨斗废不锈钢防雷设备雪花机Frc
- 月28日余姚塑料市场HDPE最新报价定硫仪流量计装订用品避雷器纸杯机Frc
- 石油出口国表示油价将远超100美元空调泵滚塑制品月饼机仪表盘螺杆泵Frc
- 柳工开展应急救护培训增强员工自救互救能力训导用具三极管发射天线防菌涂料组合电池Frc
- 水质监测用无人艇技术要求试行制定完成蒸发器铁力移位器淋膜机调油刀Frc