1. 程式人生 > 其它 >windows下編譯ffmpeg以及遇到的坑

windows下編譯ffmpeg以及遇到的坑

遇事先百度,對,我就是這麼幹的,不過很多文章不適合我的情況;

我的電腦環境(win10、VS2019),無論是什麼VS,沒什麼差距;

找了很多文件,目前斷定window不能直接編譯ffmpeg,那麼就要在windows構建linux環境;

1,構建linux環境;

  構建環境有3種方案,wsl(ubuntu子系統)、cygwin、msys,那麼坑來了,選型時肯定哪個簡單選哪個,wsl這個在windows store裡(搜尋ubuntu),但是這個方法由於su無法繼承當前使用者的環境變數,也找了很多方法改變su的環境變數,還是無法找到cl.exe,如果不適用su,又無法使用apt;

  後來選了msys,總算通過了。

  a,下載MSYS2,地址:https://www.msys2.org/

  b,安裝:無腦下一步

  c,啟動MSYS2:進入安裝目錄,啟動 msys2_shell.cmd

  d,下載依賴:

    安裝make: pacman -S make     安裝yasm: pacman -S yasm     安裝diffutils: pacman -S diffutils     安裝pkg-config: pacman -S pkg-config     安裝git: pacman -S git(如果已有原始碼不需要安裝) 2,配置環境   a,關閉之前的msys2_shell.cmd   b,根據情況開啟vs命令   

  c,用vs命令開啟msys2.exe

  d,設定環境變數:    

export PATH="/c/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64":$PATH

    這個要根據自己的VS路徑設定;

3,下載原始碼   Download FFmpeg,這兩處都可以下載,然後CD到原始碼目錄   

4,配置

./configure  --toolchain=msvc --arch=x86_64 --enable-x86asm --enable-shared --enable-w32threads --disable-doc --disable-static --prefix=output --enable-optimizations

5,編譯

  make install

  生成目錄 msys64\home\root\ffmpeg\output

  據實際使用release和debug是同一套;

鳴謝:Windows下如何編譯ffmpeg(支援NVENC) - 掘金 (juejin.cn)

   2020/5-Win10下ffmpeg最簡編譯方法 - 知乎 (zhihu.com)