1.安装msys64_2、vs2017编译ffmpeg

MinGW64(Minimalist GNU for Windows)用于在 Windows 上编译基于GCC的应用程序。他主要提供了针对 win32 应用的 GCC、GNU binutils 等工具,以及对等于 Windows SDK(的子集)的头文件和用于 MinGW 版本的 linker 的库文件(so【动态链接库】、a【静态链接库】 等,而不是 VC 的lib)。MinGW 是用于进行 Windows 应用开发的 GNU 工具链(开发环境),它的编译产物一般是原生 Windows 应用。(mingw 的命令行工具的命令都是基于 windows 的!!!)

MSYS 是用于辅助 Windows 版 MinGW 进行命令行开发的配套软件包,提供了部分 Unix 工具以使得 MinGW 的工具使用起来方便一些(MinGW需要在MSYS内部通过 pacman 安装)

安装msys64_2

msys_2下载地址:https://www.msys2.org/

先切换源,编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686
编辑 /etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64
编辑 /etc/pacman.d/mirrorlist.msys ,在文件开头添加
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch

可安装到D:\msys64_2目录下,下载安装后在目录中打开名为mingw64的应用程序。
1.测试命令,S为保存,s为安装包,组合后为搜索安装包,-S为直接安装

pacman -Ss gcc

安装编译ffmpeg需要的工具:

pacman -S make gcc diffutils pkg-config nasm

安装可能会中断报错,这需要多次尝试。
参考https://www.cnblogs.com/skydo/p/12205905.html
再安装SDL,需要它生成ffplay,

pacman -S mingw64/mingw-w64-x86_64-SDL2

安装的时候报错:
在这里插入图片描述
继续敲,这里敲到第三遍,就成功了。。。
再执行命令,这些用作更新的:

pacman-key --init
pacman -Syu

换成国内镜像命令:

pacman-mirror -c China

MinGW安装ffmpeg

ffmpeg下载地址:http://ffmpeg.org/download.html
http://ffmpeg.zeranoe.com/builds/
在mingw64的环境下进行安装,先运行启动mingw64.exe
在这里插入图片描述

对于进入到D:\audio_down\ffmpeg-4.1.4目录下的命令为:

cd /d/audio_down/ffmpeg-4.1.4

用下面的编译命令将没有生成ffplay,进入到上面的目录后执行 make clean 作清理。
有ffplay的编译命令

./configure --prefix=/usr/local/ffmpeg --enable-debug=3 --enable-shared --disable-static 
make -j4
make install

编译时间较长,,,约100min
编译成功后在环境下的/usr/local/ffmpeg目录中(也就是D:\msys64_2\usr\local\ffmpeg\bin),可见两个可执行文件,ffmpeg.exe和ffprobe.exe文件
在这里插入图片描述

附加:pacman无法从源下载数据问题?
解决方法:1.更新pasam命令:pacman -S pacman
2.换一下下载源,这种方法不好,你不知道那个网站更新快,哪个网新更新慢。这种方法比较傻

nano /etc/pacman.conf

把[core],[extra],[community]里面的源注释掉加上新源就可以了。
3.手动将要下的数据包下到本地,然后在安装
pacman -Sw 源地址/libldap-2.4.23-1-i686.pkg.tar.xz -P /var/cache/pacman/pkg/

pacman -U /var/cache/pacman/pkg/libldap-2.4.23-1-i686.pkg.tar.xz

pacman -U 时,遇到以下问题

warning: directory permissions differ on var/
filesystem: 777 package: 755

解决上面的问题是
chmod 755 /var
这种方法比较通用性

注:编译报错:libavformat/os_support.c:230:10: error: ‘ERROR_NOT_ENOUGH_MEMORY’ undeclared (first use in this function)
需在源码 ffmpeg-3.4.2/libavformat/os_support.h 中引用 #include “winerror.h” 。

vs2017编译ffmpeg

可参考:点这里,安装编译教程
确定在mingw64的环境下,输入编译命令,允许交叉编译

./configure --toolchain=msvc --prefix=/usr/local/ffmpeg --enable-cross-compile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值