基于嵌入式Linux的视频采集系统7---视频图像格式转化

2019-07-13 06:53发布

本文来自:
http://blog.chinaunix.net/uid-23093301-id-86396.html
视频图像格式转化

本课题通过v4l采集的视频帧格式为MJPEG而MiniGUI显示时只能用YUY的格式,故利用FFMPEG实现图像帧的颜 {MOD}空间变换。FFMPEG是一个开源的跨平台的视频和音频编解码解决方案。利用它可以非常方便的实现图像帧的颜 {MOD}空间的变化。同时它支持几乎所有的音视频格式的编解码,并且拥有非常高的性能和可靠性。 FFMPEG项目组成有: ● libavformat :用于解析和生成各种音视频的格式 ● libavcodec :用于各种类型声音/图像编解码;    ● libavutil :包含一些公共的工具函数;    ● libswscale :用于视频场景比例缩放、 {MOD}彩映射转换;    ● libpostproc :用于后期效果处理;    ● ffmpeg :一个工具程序,可用于格式转换、解码或电视卡即时编码等; ● ffsever :一个 HTTP 多媒体即时广播串流服务器;    ● ffplay :是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;

FFMPEG 的移植

● 首先获取FFMPEG源码 通过svn命令获取最新的FFMPEG
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
● 下面是FFMPEG的编译选项 ./configure  --enable-gpl  CC=arm-linux-gcc 
make  
make install
● 把所有生成的库文件复制到嵌入式系统根文件系统 主要是动态链接库复制到嵌入式根文件系统。

FFMPEG实现图像格式的转化

本课题嵌入端基于FFMPEG实现了图像颜 {MOD}空间之间的转换,其图像转换程序流程图如图所示: