视频编解码之windows平台下编译ffmpeg的方法和使用教程
来源:互联网 发布:网络改变人性 编辑:程序博客网 时间:2024/05/01 04:09
2、编译FFMPEG的依赖库
想要成功编译出ffmpeg,需要提前安装的依赖库非常非常多,而且有些还非常复杂。现在我们开始一个个尝试编译安装。
(1)安装yasm。
从这个链接下载:http://yasm.tortall.net/Download.html;选择其中的win32类别的,下载完成后文件名为:yasm-1.2.0-win32.exe。将这个文件重命名为yasm.exe并拷贝到C:\Windows\system32或者D:\Mingw\Bin中。
(2)编译zlib。
zlib是用于数据压缩的一个开源库,地址是:http://www.zlib.net/。我们将源文件zlib-1.2.8.tar下载成功后拷贝到D:\MSYS1.0\home\Administrator中并解压缩。随后进入msys,依次输入以下命令:
cd zlib-1.2.8
make -f win32/Makefile.gcc
编译完成后,在zlib-1.2.8生成了zlib1.dll、libz.a文件。然后调用以下命令将相关文件复制到Mingw响应的目录:
cp -iv zlib1.dll /mingw/bin
cp -iv zconf.h zlib.h /mingw/include
cp -iv libz.a /mingw/lib
检查相关目录,相应的文件已经成功复制过去了。
(3)编译libgsm。
下载地址是:http://libgsm.sourcearchive.com/。下载完成的文件为libgsm_1.0.13.orig.tar,将其拷贝到D:\MSYS1.0\home\Administrator并解压。在msys中进入gms目录后,输入以下命令:
make(这一步会出现fchmod和fchown的编译错误,无视之,因为我们只需要libgsm.a库文件即可)
mkdir /mingw/include/gsm
cp inc/gsm.h /mingw/include/gsm
cp lib/libgsm.a /mingw/lib
同样,检查相关目录,头文件gsm.h和库文件libgsm.a已经成功复制。
(4)编译lame。
下载地址:http://sourceforge.net/projects/lame/files/lame/。将压缩包在与上面几个库相同的位置解压,msys进入后执行:
./configure --prefix=/mingw --enable-expopt=full
make
make install
检查相关目录,/mingw/include下新建了一个lame存放头文件,而/mingw/lib中已经包含了libmp3lame.a、libmp3lame.dll.a、libmp3lame.la三个库文件,说明编译成功。
(5)编译Libogg、Libvorbis、Libspeex和Libtheora
下载地址为http://xiph.org/downloads/。安装方法同上面类似,即解压,在msys中执行
./configure --prefix=/mingw
make
make install
(6)编译faac
faac主要用于音频的编解码,下载地址http://www.audiocoding.com/downloads.html。将faac-1.28.tar解压。随后需要对文件进行一些小修改:
在目录中新建一个文件名为faac-1.28.diff,内容如下:
然后执行:
patch -p1 < faac-1.28.dll
./bootstrap
./configure --prefix=/mingw
make
make install
这样编译可以成功。
(7)编译xvidcore-1.3.2
下载地址:http://www.xvid.org/。解压,进入\xvidcore\build\generic目录,执行
./configure --prefix=/mingw
随后,需要将该目录下的几个文件(config/config.status/configure/configure.in)中含有的“-mno-cygwin”字符删掉,否则会出现编译错误。
然后执行
make
make install
cp -iv \=build/xvidcore.dll.a /mingw/lib/libxvidcore.dll.a
检查目标文件,libxvidcore.dll.a已经成功复制。
(8)安装X264
下载地址http://www.videolan.org/developers/x264.html。与上面的库类似,解压,进入目录,执行下列命令“
configure --prefix=/mingw --enable-w32thread --enable-shared --disable-opencl
make
make install
(9)安装SDL
SDL是可以选装的部分,如果不安装SDL,我们依然可以生成ffmpeg.exe和ffprob.exe,但是不能生成ffplay.exe。
安装SDL的过程比较简单,从http://www.libsdl.org/download-1.2.php下载SDL-devel-1.2.15-mingw32.tar。解压后,需要将makefile做一些小修改,将CROSS_PATH路径改为CROSS_PATH := /mingw。在msys命令行中执行:
make cross
./configure --prefix=/mingw --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-postproc --enable-avfilter --enable-runtime-cpudetect --enable-memalign-hack --enable-bzlib --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --disable-debug --enable-pthreads
下面执行:
make
make install
- 视频编解码之windows平台下编译ffmpeg的方法和使用教程
- Linux/Windows 下分别编译音视频编解码库ffmpeg的流程和注意事项
- 【视频编解码】Linux下FFmpeg编译安装及其ffplay的安装使用
- 基于FFMPEG 的跨平台视频编解码研究
- 嵌入式Linux下基于FFmpeg的视频硬件编解码
- 嵌入式Linux下基于FFmpeg的视频硬件编解码
- 嵌入式Linux下基于FFmpeg的视频硬件编解码
- 视频编解码之ffmpeg命令行工具的常用命令汇总
- FFmpeg支持的音频和视频编解码格式
- ffmpeg编解码之图片转视频
- FFmpeg 视频、音频编解码的例子
- Windows平台下使用VisualStudio编译FFmpeg
- windows平台下FFMPEG的编译与使用
- ffmpeg 命令行视频编解码
- 视频编解码,bbv 缓冲区的上溢和下溢
- windows平台下编译FFmpeg
- 嵌入式Linux下基于FFmpeg的视频硬件编解码[图]
- 嵌入式Linux下基于FFmpeg的视频硬件编解码[图]
- MobSF简单静态分析apk文件
- java并发编程(十八)----(线程池)java线程池框架Fork-Join
- Android四大组件之Activity详解
- 明天降温了,大家多穿衣服啊
- 【object detection】faster rcnn笔记
- 视频编解码之windows平台下编译ffmpeg的方法和使用教程
- 算法训练 最小乘积(基本型)
- 中国剩余定理
- 项目质量管理 教材精选
- docker配置javaweb开发容器
- 求二叉树的深度和宽
- SQL(1)
- 自动化CodeReview
- C语言编程“Hello,world”应该怎们弄