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

2013-10-09 16:34 来源:互联网 作者:洛小辰

3 接收处理端

接收处理端可以与任意一个采集发送端进行连接通信。连接后可以接收采集发送端发送的视频数据,经过FFmpeg解码后显示。

3.1 FFmpeg解码

FFmpeg解码的流程与编码的流程大致相同,只是解码的核心函数为avcodec_decode_video()。接收处理端接收到一帧数据后,通过avpicture_fill()存储到AVFrame格式的内存空间中,然后再使用avcodec_decode_video()函数进行解码。其解码流程如图3所示:

28


3.2.视频显示

FFmpeg对H.264解码出来格式是YUV(.i420)格式,需要转换成RGB(.rgb24)格式显示,使用FFMPEG中的sws_scalc()函数可以实现格式转换。

显示视频采用的是OpenCV。显示的核心函数是cVShowImage(char* name,lpllmage* dst),将得到的RGB(.rgb24)格式数据转换为OpenCV格式的lpllmage数据,然后显示在监控窗口上,如图4所示:

29


4 结束语

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



< 1 2 3 
嵌入式 FFmpeg 编解码

相关阅读

暂无数据

一周热门