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

嵌入式系统 时间:2013-03-05来源:网络

3 接收处理端
接收处理端可以与任意一个采集发送端进行连接通信。连接后可以接收采集发送端发送的视频数据,经过FFmpeg解码后显示。
3.1 FFmpeg解码
用FFmpeg解码的流程与编码的流程大致相同,只是解码的核心函数为avcodec_decode_video()。接收处理端接收到一帧数据后,通过avpicture_fill()存储到AVFrame格式的内存空间中,然后再使用avcodec_decode_video()函数进行解码。其解码流程如图3所示:

a.JPG


3.2.视频显示
FFmpeg对H.264解码出来格式是YUV(.i420)格式,需要转换成RGB(.rgb24)格式显示,使用FFMPEG中的sws_scalc()函数可以实现格式转换。
显示视频采用的是OpenCV。显示的核心函数是cVShowImage(char* name,lpllmage* dst),将得到的RGB(.rgb24)格式数据转换为OpenCV格式的lpllmage数据,然后显示在监控窗口上,如图4所示:

b.JPG



4 结束语
随着视频压缩技术的发展成熟,嵌入式视频监控逐渐在监控领域占有重要地位。以S3C2440为嵌入式硬件平台,通过摄像头采集数据,在嵌入式Linux与Windows操作系统相结合的跨平台上,实现FFmpeg的编解码,为实际嵌入式视频监控系统的视频压缩传输设计,提供了一种可行的方法。

1 2 3

关键词: FFmpeg 编解码 嵌入式

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版