1.安装msys64_2、vs2017编译ffmpeg
MinGW64(Minimalist GNU for Windows)用于在 Windows 上編譯基于GCC的應(yīng)用程序。他主要提供了針對(duì) win32 應(yīng)用的 GCC、GNU binutils 等工具,以及對(duì)等于 Windows SDK(的子集)的頭文件和用于 MinGW 版本的 linker 的庫(kù)文件(so【動(dòng)態(tài)鏈接庫(kù)】、a【靜態(tài)鏈接庫(kù)】 等,而不是 VC 的lib)。MinGW 是用于進(jìn)行 Windows 應(yīng)用開發(fā)的 GNU 工具鏈(開發(fā)環(huán)境),它的編譯產(chǎn)物一般是原生 Windows 應(yīng)用。(mingw 的命令行工具的命令都是基于 windows 的!!!)
MSYS 是用于輔助 Windows 版 MinGW 進(jìn)行命令行開發(fā)的配套軟件包,提供了部分 Unix 工具以使得 MinGW 的工具使用起來(lái)方便一些(MinGW需要在MSYS內(nèi)部通過 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的應(yīng)用程序。
1.測(cè)試命令,S為保存,s為安裝包,組合后為搜索安裝包,-S為直接安裝
安裝編譯ffmpeg需要的工具:
pacman -S make gcc diffutils pkg-config nasm安裝可能會(huì)中斷報(bào)錯(cuò),這需要多次嘗試。
參考https://www.cnblogs.com/skydo/p/12205905.html
再安裝SDL,需要它生成ffplay,
安裝的時(shí)候報(bào)錯(cuò):
繼續(xù)敲,這里敲到第三遍,就成功了。。。
再執(zhí)行命令,這些用作更新的:
換成國(guó)內(nèi)鏡像命令:
pacman-mirror -c ChinaMinGW安裝ffmpeg
ffmpeg下載地址:http://ffmpeg.org/download.html
http://ffmpeg.zeranoe.com/builds/
在mingw64的環(huán)境下進(jìn)行安裝,先運(yùn)行啟動(dòng)mingw64.exe
對(duì)于進(jìn)入到D:\audio_down\ffmpeg-4.1.4目錄下的命令為:
cd /d/audio_down/ffmpeg-4.1.4用下面的編譯命令將沒有生成ffplay,進(jìn)入到上面的目錄后執(zhí)行 make clean 作清理。
有ffplay的編譯命令
編譯時(shí)間較長(zhǎng),,,約100min
編譯成功后在環(huán)境下的/usr/local/ffmpeg目錄中(也就是D:\msys64_2\usr\local\ffmpeg\bin),可見兩個(gè)可執(zhí)行文件,ffmpeg.exe和ffprobe.exe文件
附加:pacman無(wú)法從源下載數(shù)據(jù)問題?
解決方法:1.更新pasam命令:pacman -S pacman
2.換一下下載源,這種方法不好,你不知道那個(gè)網(wǎng)站更新快,哪個(gè)網(wǎng)新更新慢。這種方法比較傻
nano /etc/pacman.conf
把[core],[extra],[community]里面的源注釋掉加上新源就可以了。
3.手動(dòng)將要下的數(shù)據(jù)包下到本地,然后在安裝
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 時(shí),遇到以下問題
warning: directory permissions differ on var/
filesystem: 777 package: 755
解決上面的問題是
chmod 755 /var
這種方法比較通用性
注:編譯報(bào)錯(cuò):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
可參考:點(diǎn)這里,安裝編譯教程
確定在mingw64的環(huán)境下,輸入編譯命令,允許交叉編譯
./configure --toolchain=msvc --prefix=/usr/local/ffmpeg --enable-cross-compile
總結(jié)
以上是生活随笔為你收集整理的1.安装msys64_2、vs2017编译ffmpeg的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 车辆配送路径选择问题分析
- 下一篇: C++11特性——右值引用