新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FFmpeg的远程视频监控系统编解码

基于FFmpeg的远程视频监控系统编解码

作者:时间:2013-03-05来源:网络收藏

摘要:在远程视频监控系统中视频数据的编码传输以及解码显示是一个重要组成部分,通过对的研究学习,考虑采用来实现的方法。远程监控系统由采集发送端和接收处理端组成,采集发送端使用S3C2440作为硬件平台,并通过USB摄像头OV9650采集视频数据,经过编码后传输给接收处理端。接收处理端接收到数据后通过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所示。

本文引用地址:http://www.eepw.com.cn/article/148086.htm

c.JPG



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不再难懂)
摄像头相关文章:摄像头原理

上一页 1 2 3 下一页

关键词: FFmpeg 编解码 嵌入式

评论


相关推荐

技术专区

关闭