FFMpeg在官方网站中提供了已经编译好的可执行文件,用FFmpeg的人很多,因为FFmpeg是开源的,并且可以自己DIY,而且很强大,所以,FFmpeg还有一个优势就是开源。而在使用Linux时,无论是用ubuntu或者redhat,如果使用系统提供的源安装ffmpeg时会发现,版本相对比较老旧,例如apt-get install ffmpeg后或者yum install ffmpeg后会发现,版本很老,有些新的功能不一定支持,例如一些新的封装格式,或者通信协议。所以会编译FFmpeg这个技能就至关重要了,甚至让自己DIY起来更加顺利。
2.1 FFmpeg Windows平台编译
FFmpeg在Windows平台中编译时使用的cygwin来进行编译,首先需要安装cygwin环境,然后才可以编译,如果不希望使用cygwin而使用Visual Studio的话,则需要消耗很多时间去支持到Visual Studio平台,与其话费时间去做这些事,还不如直接使用cygwin进行支持。
由于cygwin的平台使用方式为模拟Linux的环境,所以编译FFmpeg在cygwin平台下,也同样简单,同样方便。
Configure之后,可以通过make;make install安装源码编译的ffmpeg,在cygwin平台下make编译ffmpeg是一个比较漫长的过程。当编译安装完成后,即可使用ffmpeg命令,但是这个编译出来的ffmpeg仅仅为最简易的ffmpeg,并没有支持h264、h265、加字幕等编码支持,如果需要支持更多模块和参数,还需要进行更加详细的定制。
2.2 FFmpeg Linux平台编译
FFmpeg在很多Linux的发行版本源中已经包含,例如Ubuntu / Fedora的镜像源中包含了安装包,但是版本相对来说比较老,有些甚至不支持H264、H265编码,或者不支持rtmp协议等,为了支持这些协议,编码,需要自己手动编译一套FFmpeg,所以在Linux下面,推荐的最好的FFmpeg就是根据自己的需求进行定制的FFmpeg,默认编译FFmpeg的时候,需要用到yasm汇编器对FFmpeg中的汇编部分进行编译,如果不用汇编部分的代码,可以不安装yasm汇编器。默认执行配置的时候,提示错误:
根据图中的错误提示,可以使--disable-yasm来进行ffmpeg的编译配置,不过这么做的话就不编译ffmpeg的汇编代码部分,相关的优化会少一些。如果需要去掉这些错误,可以通过安装yasm汇编器来解决:
下载yasm汇编器后,configure过后,可以通过make编译,make install安装即可;
然后再回到ffmpeg源代码目录中进行之前的configure操作,就会消失。
2.3 FFmpeg OSX平台编译
有些人在OSX下面使用FFmpeg进行一些编转码或流媒体采集等工作,为了方便调试,需要生成OSX平台相关的FFmpeg,在OSX下面编译FFmpeg前,首先需要安装编译环境,在OSX下面使用的编译工具链为LLVM,如图:
还需要安装yasm汇编编译工具,否则在生成Makefile时会报未安装yasm工具的错误.
在LLVM下源码安装FFmpeg,与其他平台几本相同,尤其与Linux相同,FFmpeg从git://source.ffmpeg.org/ffmpeg.git中git clone下来:
源代码down下来之后,可以开始进入进入编译阶段,通过如下几部可以完成基本的编译工作:
接着只需要执行make编译与make install安装即可。
阅读(14621) | 评论(0) | 转发(1) |