VS編譯FFMPEG

VS編譯FFMPEG

首先要建立至少兩級目錄,比如F:\ShiftMediaProject\code

然後到code底下clone https://github.com/ShiftMediaProject/FFmpeg 代碼到F:\ShiftMediaProject\code\Ffmpeg

運行F:\ShiftMediaProject\code\Ffmpeg\SMP\project_get_dependencies.bat,會自動在code下面克隆依賴的其他項目

建立文件夾F:\ShiftMediaProject\msvc\include,並在下面建立gl、KHR、ffnvcodec、AMF四個目錄

下載https://www.khronos.org/registry/OpenGL/api/GL/glext.h    https://www.khronos.org/registry/OpenGL/api/GL/wglext.h到gl

下載https://www.khronos.org/registry/EGL/api/KHR/khrplatform.h  到KHR

clone https://github.com/FFmpeg/nv-codec-headers 將include下的文件拷貝到ffnvcodec

colne https://github.com/GPUOpen-LibrariesAndSDKs/AMF 將amf/public/include下的內容(components、core兩個文件夾)拷貝到AMF

clone https://github.com/ShiftMediaProject/VSNASM.git ,執行install_script.bat安裝nasm,如果執行不了,可以手動安裝。

以vs2017爲例

即將nasm.props nasm.targets nasm.xml拷貝到C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations

https://www.nasm.us/pub/nasm/releasebuilds/下載nasm,install_script.bat中找到所用的版本號,根據系統選擇64位或32位,將下載的文件(如nasm-2.13.03-win64.zip)解壓,將nasm.exe拷貝至C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC

clone https://github.com/ShiftMediaProject/VSYASM.git 按nasm一樣的步驟操作。

https://github.com/ShiftMediaProject/VSYASM/releases下載打包好的文件,裏面包含yasm-32.exe、yasm-64.exe,選擇需要的改名yasm.exe拷貝

其他版本vs存放路徑可以在install_script.bat中查看出來

 

 

打開F:\ShiftMediaProject\code\Ffmpeg\SMP\ ffmpeg_deps.sln ,選好配置項,編譯ffmpeg、ffplay、ffprobe,會自動編譯依賴項。[***dllstaticdps可以編譯通過,其他的配置屬性存在問題需要自己修改]

ffmpeg_deps.sln包含依賴項目,以後可以使用ffmpeg.sln,不包含依賴項目

生成的文件在F:\ShiftMediaProject\msvc下面

調試需要將[屬性->調試->命令] 的值改成和[屬性->鏈接器->輸出文件]一樣。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

如果嫌上面操作麻煩,某些文件下載還被牆了,可以到 https://gitee.com/ztwlla/FFMPEG 獲取我全部處理好的項目,下載後直接可用。

轉載地址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章