欢迎来到天天文库
浏览记录
ID:8805268
大小:340.00 KB
页数:5页
时间:2018-04-08
《ffmpeg交叉编译到window平台下使用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、FFmpeg是一个开源且跨平台的音视频解决方案,集采集、转码、流式化为一身,项目的libavcodec编解码模块和libavformat媒体格式模块,支持非常非常丰富的编解码格式和容器封装格式,是做媒体相关开发工作必须要掌握和借鉴的一个项目。定制和编译ffmpeg是做流媒体开发迟早要面对的,linux平台上相对简单,windows平台就比较麻烦了。本文的目的就是详细介绍下如何基于ubuntu交叉编译环境,编译和定制ffmpeg。一 概述 ffmpeg主要是基于linux开发,当然它也支持wind
2、ows,不过并不支持visualstudio系列IDE(因为它使用了大量C99特性,而vs不支持C99),所以要想在windows上使用,必须要通过mingw或cygwin来编译,或者在linux上构建windows交叉编译环境,后者要简单些。 二环境准备1. UbuntuLinux,本人使用的Ubuntu11.10,安装在VMwareWorkstation中2.要有可用的网络,因为之后要在线安装软件包,如果宿主机能上网虚拟机上不了可以将虚拟机连接方式改成NAT3. MinGW编译环境,我们要非常
3、感谢,zeranoe,它做了一个自动下载和编译ffmpeg所需要的mingw及其他工具链的脚本,请到http://ffmpeg.zeranoe.com/blog/下载最新的“MingGW-w64BuildScript2.8.4”。解压(解压命令为tar–xvf加文件名)后新建一个目录把它放进去(本人的目录是/home/haibindev/studio/mingw-w64/),然后打开终端,cd到MinGW-w64所在目录,执行"chmod+xmingw-w64-build-2.8.4",使这个脚本
4、可以执行。之后运行"./mingw-w64-build-2.8.4",就可以按照提示来做了。如果它提示你缺少依赖库,就按照它的提示先安装依赖库,方式是,执行"sudoapt-getinstall库名字"。这里要注意mingw的安装选择选择下如图选择y选择2选择n最后会生成下图文件 3.设置终端的环境变量 执行一下命令即可。(注意,如果你关闭了终端,或者新建一个终端,需要重新执行一下这个命令。)exportPATH="$PATH:/home/haibindev/studio/mingw-w64/
5、mingw-w64-i686/bin"三下载FFmpeg源码和你需要的编解码库的源码这点不用做什么介绍,先到ffmpeg官网,下载ffmpeg源代码,然后再Google你需要的编解码库,到相关网站下载即可。本人这次编译共下载了以下代码,以做大家参考。libx264libfaaclibmp3lamelibogglibspeexlibvorbislibtheoraffmpeg这些编解码库的源码都可以在http://ffmpeg.zeranoe.com/builds找到FFmpeg0.8.11下载htt
6、p://www.ffmpeg.org/releases/ffmpeg-0.8.11.tar.bz2 下载完后解压,然后统一放到一个目录中,本人的目录是/home/haibindev/studio/opensource/。下图是全家福(build-ffmpeg是编译ffmpeg的工作目录,下面介绍,freetype我没有编译)。四编译 为了方便,我把所有库编译后的结果都存放到了一个统一的目录/home/haibindev/opensdk,方法请见下面的编译命令。 除了第一个命令以外,其余的都是
7、configure命令,执行完之后,还需要执行make命令,然后执行makeinstall。我就不再写出来了。 1.先执行以下命令ln-s"/usr/bin/pkg-config"/home/haibindev/studio/mingw-w64/mingw-w64-i686/bin/i686-w64-mingw32-pkg-config如果没有pkg的话执行sudoapt-getinstallpkg安装pkg软件包 2. libx264./configure--enable-static--e
8、nable-win32thread--host=i686-w64-mingw32--prefix=/home/haibindev/opensdk--cross-prefix=i686-w64-mingw32- 3. libfaac./configure--host=i686-w64-mingw32--prefix=/home/haibindev/opensdk--enable-static--disable-shared--with-mp4v2=no 4. libmp3lame
此文档下载收益归作者所有