博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
win10 msys2 vs2015 ffmpeg3.3.3 编译 带x264 aac
阅读量:4183 次
发布时间:2019-05-26

本文共 4171 字,大约阅读时间需要 13 分钟。

本文前半部分环境配置,摘自网友整理,原文出处:http://blog.csdn.net/longji/article/details/54891236  

后半部分是自己编译总结和脚本:

01 环境

win10x64企业版。vs2015update3企业版。( version 2.10.0.windows.1)。

02 下载ffmpeg代码

git clone https://git.ffmpeg.org/ffmpeg.gitgit tag #目前最新稳定版本3.2.2git checkout -b release3.2.2 n3.2.2 
1
2
3
1
2
3

03 下载msys2

 
 
这里写图片描述

03.01 

. 选择第二个:msys2-x86_64-20161025.exe 
下载后,安装默认安装到C:/msys64。 
msys2-x86_64-20161025.exe的下载可能比较慢,中途可能断掉,建议使用firefox下载,或者使用支持断点续传的工具下载。

03.02 安装编译程序

安装后,到msys2窗口执行,安装编译程序:

pacman -S make gcc diffutils pkg-config# 可能需要多尝试几次,我安装的时候gcc更新了几次才成功,这个更新过程支持断点续传。# 如果不按照pkg-config,运行./configure的时候,会出现如下warning# WARNING: pkg-config not found, library detection may fail. 
1
2
3
4
1
2
3
4

这里写图片描述

03.03 重命名link.exe

重命名C:/msys64/usr/bin/link.exe 为C:/msys64/usr/bin/link.bak, 避免和MSVC 的link.exe抵触。

03.04 下载

YASM下载地址:,下载其64位版本Win64 .exe (64 位 Windows 通用)。 
下载后,将下载回来的yasm-1.3.0-win64.exe 改名为yasm.exe,并放置于 MSYS2 安装目录中。就是放置到c:/msys64/usr/bin/ 中。

04 配置msys2

04.01 编辑C:/msys64/msys2_shell.cmd,

将其中的:rem set MSYS2_PATH_TYPE=inherit“rem”注释删除掉,成为:set MSYS2_PATH_TYPE=inherit 
1
2
3
4
1
2
3
4

04.02 打开vs2015关联的msys2窗口

在命令提示符窗口输入:

# 切换到c:/msys64目录cd c:/msys64# 切换vs2016 64位环境C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat#打开msys2的mingw64窗口msys2_shell.cmd -mingw64 
1
2
3
4
5
6
1
2
3
4
5
6

04.03 检查工具组件

which cl link yasm cpp#显示如下内容/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/amd64/cl/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/amd64/link/usr/bin/yasm/usr/bin/cpp 
1
2
3
4
5
6
1
2
3
4
5
6

这里写图片描述

04.04 修改msys2窗口代码页为GBK,避免编译时显示乱码。

在窗口上右击鼠标,选择[Options]菜单,选择[Text],locale选择:zh_CN,Character set 选择 GBK。 
这里写图片描述

05 编译ffmpeg

#在msys2窗口:cd d:/git/ffmpeg#进入下载ffmpeg目录中./configure  --toolchain=msvc --arch=x86 --enable-yasm --enable-asm --enable-shared --disable-static 
1
2
3
4
1
2
3
4

这里写图片描述

如有:WARNING: pkg-config not found, library detection may fail.#安装pkg-config pacman -S pkg-config 
1
2
3
1
2
3

这里写图片描述

# make 过程会有很多waring提示,不需理会makemake install 
1
2
3
1
2
3

这样以后,编译生产的执行文件ffmpeg.exe和DLL文件在目录C:/msys64/usr/local/bin中,开发头文件在C:/msys64/usr/local/include中。 
这里写图片描述

06 编译ffplay.exe

01 更新msys64

# 更新mingw-w64-x86_64-toolchain工具链pacman -S mingw-w64-x86_64-toolchain 
1
2
1
2

02 下载SDL和X264

下载版本,并编译 
 

tar -zxvf SDL2-2.0.5.tar.gzcd SDL2-2.0.5./configure --prefix=/d/git/ffmpeg/buildmakemake install 
1
2
3
4
5
1
2
3
4
5

下载x264,并编译

git clone http://git.videolan.org/git/x264.gitgit checkout -b stable remotes/origin/stable./configure --prefix=/d/git/ffmpeg/build --host=x86_64-w64-mingw32 --enable-sharedmakemake install 
1
2
3
4
5
1
2
3
4
5

编译带ffplay.exe的ffmpeg

export PKG_CONFIG_PATH=/d/git/ffmpeg/build/lib/pkgconfig/# 如果不正确设置PKG_CONFIG_PATH环境变量,带ffplay的ffmpeg ./configure 时,会出现Warning# WARNING: using libx264 without pkg-config./configure --prefix=/d/msys2-build/ffmpeg/build-win32 --extra-cflags="-I/d/msys2-build/ffmpeg/build-win32/include" --extra-ldflags="-L/d/msys2-build/ffmpeg/build-win32/lib  -L/d/msys2-build/ffmpeg/build-win32/bin -static-libgcc" --enable-gpl --enable-nonfree --enable-libx264 --enable-libfdk-aac --enable-version3 --pkg-config=pkg-config --enable-shared --disable-static --disable-iconv --disable-bzlibmake make install

总结:

一: 编译x264 

./configure --prefix=/d/work/msys-build/ffmpeg/build_win32/libx264 --enable-static --enable-pic --enable-strip --extra-cflags="-Os -fpic" --disable-cli --disable-thread

二:编译fdk-aac 

下载源码请自行下载,很简单的

## fdk-aac./configure --prefix=/d/work/msys-build/ffmpeg/build_win32/libfdk-aac --enable-static --enable-shared

三:编译ffmpeg

# ffmpeg./configure --prefix=/d/msys2-build/ffmpeg/build-win32 --extra-cflags="-I/d/msys2-build/ffmpeg/build-win32/include" --extra-ldflags="-L/d/msys2-build/ffmpeg/build-win32/lib  -L/d/msys2-build/ffmpeg/build-win32/bin -static-libgcc" --enable-gpl --enable-nonfree --enable-libx264 --enable-libfdk-aac --enable-version3 --pkg-config=pkg-config --enable-shared --disable-static --disable-iconv --disable-bzlib

安装gas-preprocessor

将下载的gas-preprocessor.pl放到msys2安装目录下面x:\msys64\usr\bin\gas-preprocessor.pl

你可能感兴趣的文章
Spring Data JPA |自定义非实体类的映射
查看>>
SpringBoot | 常用注解记录
查看>>
JavaBean对象转换EntityUtils工具类
查看>>
Maven常用命令
查看>>
SpringBoot | 运行报错,无法加载oracle连接驱动
查看>>
为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作
查看>>
AWS EC2如何从普通用户切换为root用户
查看>>
click方法不生效的
查看>>
mysql排行榜并列与不并列
查看>>
SpringBoot | Mybatis申明为Mapper文件
查看>>
JPA主键生成策略
查看>>
byte数组和InputStream的相互转换
查看>>
InputStream,InputStreamReader和Reader之间的区别与关系
查看>>
Java中System.arraycopy方法的使用
查看>>
tk.mybatis的使用记录
查看>>
遍历获取目录下的所有文件
查看>>
从指定服务器路径下载文件
查看>>
EasyExcel读取和写入java model数据
查看>>
《C编译原理》共享库的动态加载和静态加载
查看>>
《Android系统学习》第二章:如何制作OTA U盘升级包
查看>>