【ffmpeg基础-编译】Win10编译ffmpeg3.4.2

1、环境

  • Windows 10(1803)
  • Visual Studio 2017(VC ++ 2015.3 v140桌面工具集(x86,x64))
  • MSYS2(GNU构建环境)
  • YASM(x86汇编代码编译器)
  • gas-preprocessor.pl(ARM组件预处理器)

2、操作步骤

2.1、安装Visual Studio 2017

选择【安装VC ++ 2015.3 v140桌面工具集(x86,x64)】,如下图

)

2.2、安装MSYS2

  • 下载地址:http://www.msys2.org/

  • 32位Windows安装msys2-i686,64位Windows安装msys2-x86_64。
    我用的是64位。

  • 修改MSYS2目录下msys2_shell.cmd中rem set MSYS2_PATH_TYPE=inherit为set MSYS2_PATH_TYPE=inherit

  • 在MSYS2命令窗口获取最新版本make,命令如下:

pacman -S make
  • 在MSYS2命令窗口获取最新版本gcc,命令如下:
pacman -S gcc
  • 移除或重命名msys2(\usr\bin\link.exe)中link.exe
  • 在MSYS2命令窗口安装perl,命令如下:
pacman -S perl
  • 在MSYS2命令窗口安装diffutils
pacman -S diffutils
  • 修改msys2窗口Text属性为GBK,避免编译时显示乱码
    在窗口上右击鼠标,选择[Options]菜单,选择[Text],locale选择:zh_CN,Character set 选择 GBK。

2.3、安装YASM

  • 下载地址:http://yasm.tortall.net/Download.html

    我用的是Win64.exe。下载后,将下载的yasm-1.3.0-win64.exe改名为yasm.exe,并放置于MSYS2 安装目录中。

2.4、安装gas-preprocessor

  • 下载地址:https://github.com/FFmpeg/gas-preprocessor
  • 将下载的gas-preprocessor.pl并放置于msys2安装目录下\usr\bin\中

2.5、验证工具

  • 运行【VS2015 x86 ARM 兼容工具命令提示符】

  • 在命令行窗口运行【C:\msys64\msys2_shell.cmd】

  • 验证

    $ which cl
    /c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/x86_ARM/cl
    
    $ which link
    /c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/x86_ARM/link
    
    $ which armasm
    /c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/x86_ARM/armasm
    
    $ which yasm
    /usr/bin/yasm
    
    $ which cpp
    /usr/bin/cpp
    
    $ which gas-preprocessor.pl
    /usr/bin/gas-preprocessor.pl
    

2.6、下载ffmpeg3.4.2

#获取代码
git clone https://git.ffmpeg.org/ffmpeg.git

#切换分支
git checkout -b release3.4.2 n3.4.2

2.7、Windows 10 x86

  • 运行【VS2015 x86 本机工具命令提示符】
  • 在命令行窗口运行【C:\msys64\msys2_shell.cmd】
  • 进入ffmpeg目录
cd /e/test/ffmpeg
  • 在msys2命令行执行如下命令:

    mkdir -p Output/Windows10/x86
    
    cd Output/Windows10/x86
    
    ../../../configure \
    --toolchain=msvc \
    --disable-programs \
    --disable-d3d11va \
    --disable-dxva2 \
    --arch=x86 \
    --enable-shared \
    --enable-cross-compile \
    --target-os=win32 \
    --extra-cflags="-MD -DWINAPI_FAMILY=WINAPI_FAMILY_APP -D_WIN32_WINNT=0x0A00" \
    --extra-ldflags="-APPCONTAINER WindowsApp.lib" \
    --prefix=../../../Build/Windows10/x86
    
    make
    
    make install
    

2.8、Windows 10 x64

  • 运行【VS2015 x64 本机工具命令提示符】
  • 在命令行窗口运行【C:\msys64\msys2_shell.cmd】
  • 进入ffmpeg目录
cd /e/test/ffmpeg
  • 在msys2命令行执行如下命令:

    mkdir -p Output/Windows10/x64
    
    cd Output/Windows10/x64
    
    ../../../configure \
    --toolchain=msvc \
    --disable-programs \
    --disable-d3d11va \
    --disable-dxva2 \
    --arch=x86_64 \
    --enable-shared \
    --enable-cross-compile \
    --target-os=win32 \
    --extra-cflags="-MD -DWINAPI_FAMILY=WINAPI_FAMILY_APP -D_WIN32_WINNT=0x0A00" \
    --extra-ldflags="-APPCONTAINER WindowsApp.lib" \
    --prefix=../../../Build/Windows10/x64
    
    make
    
    make install
    

2.9、Windows 10 ARM

  • 运行【VS2015 x64 本机工具命令提示符】
  • 在命令行窗口运行【C:\msys64\msys2_shell.cmd】
  • 进入ffmpeg目录
cd /e/test/ffmpeg
  • 在msys2命令行执行如下命令:

    mkdir -p Output/Windows10/ARM
    
    cd Output/Windows10/ARM
    
    ../../../configure \
    --toolchain=msvc \
    --disable-programs \
    --disable-d3d11va \
    --disable-dxva2 \
    --arch=arm \
    --as=armasm \
    --cpu=armv7 \
    --enable-thumb \
    --enable-shared \
    --enable-cross-compile \
    --target-os=win32 \
    --extra-cflags="-MD -DWINAPI_FAMILY=WINAPI_FAMILY_APP -D_WIN32_WINNT=0x0A00 -D__ARM_PCS_VFP" \
    --extra-ldflags="-APPCONTAINER WindowsApp.lib" \
    --prefix=../../../Build/Windows10/ARM
    
    make
    
    make install
    

PS:

  • 参照:https://trac.ffmpeg.org/wiki/CompilationGuide/WinRT
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值