网站大量收购闲置独家精品文档,联系QQ:2885784924

视频解码中用到的ffmpeg交叉编译技巧.doc

视频解码中用到的ffmpeg交叉编译技巧.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
视频解码中用到的ffmpeg交叉编译技巧

视频解码中用到的ffmpeg交叉编译技巧一、简介 FFmpeg是一个集录制,转换,音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。 由 于ffmpeg是基于linux开发的,源代码和windows下最常见的visual studio提供的c/c++编译器不兼容,因此不能直接使用msvc++编译,想要使用ffmpeg,需要在windows下配置一个类似Linux的 编译环境,并将ffmpeg编译为二进制库以后,再利用其进行进一步开发。 目前,windows下可直接使用的最新版本是由ffmpeg工程组,于2008年4月份发布的ffmpeg full sdk v3.2。该sdk尽可能的集成了更多的编解码器。 在 应用中,使用该开发包存在2个缺陷,第一,该sdk编译基于ffmpeg r12790,编解码效率上,当前已经有了较大的提升;第二,该开发包包含了很多不需要的编解码器,需要尽可能减少开发包的体积及关联的库的个数。基于以 上需求,需要自己编译出windows下可用动态库及静态库。 使 用到的库文件有4个,libavcodec,libavformat,libavutil,libswscale,其中库 libavcodec,libavformat用于对媒体文件进行处理,如编解码;libavutil是一个通用的小型函数库,该库中实现了CRC校验码 的产生,128位整数数学,最大公约数,整数开方,整数取对数,内存分配,大端小端格式的转换等功能,libswscale主要用于图像格式转换及缩放。 因效率的需要,我们选择了ffmpeg-mt版本,同时通过配置编译尽量减少相关文件的体积。 网上类似编译过程说明较多,但实际编译过程中碰到一些问题,这些问题的解决花费了不少时间,本文档对这一过程进行记录,以便后续维护及学习。 二、编译环境搭建 windows下ffmpeg编译环境有多种可选择方案。这里我们使用MinGW+MSYS。 1. 下载mingw+msys并安装 /projects/mingw/ mingw,默认安装,在choose components时选择g++ compiler及MinGW Make Msys,默认安装, Do you wish to continue with the post install【yn】,y! Do you have mingw installed?【yn】, y Where is your mingw installation??C:/mingw 在c:/mingw/1.0/msys.bat的第一行添加 E:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat 2. 编译 将ffmpeg-mt减压缩至c:\mysy\1.0\home\Administrator下 启动msys, pwd确认当前路径 cd /home/administrator/ffmpeg-ffmpeg-mt 下载gcc-full-4.4.0-mingw32-bin-2.tar.lzma.tar 减压缩覆盖至c:\mingw,这里需要注意的是,如果gcc版本过低,可能导致解码报错! 在ffmpeg-ffmpeg-mt创建编译选项文件compile.sh 在该文件中添加 ./configure?--disable- static --enable- shared --enable-memalign-hack --disable-debug --disable-network --disable-mpegaudio-hp --disable-ffserver --disable-ffplay --disable-filters --disable-devices --disable-protocols --disable-demuxers --disable-muxers --disable-encoders --disable-parsers --disable-bsfs --enable-pthreads --enable-runtime-cpudetect --disable-decoders --enable-decoder H264 运行compile.sh,这时会提示:./configure:line 248: pr: command not found 这个需要从coreutils-5.97中提取pr.exe,拷贝至c:/msys/1.0/bin 然后会提示:Error: can’t find pthreads library 这个需要通过下载pthreadsGC2-static

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档