概述
首先要建立至少两级目录,比如F:ShiftMediaProjectcode
然后到code底下clone https://github.com/ShiftMediaProject/FFmpeg 代码到F:ShiftMediaProjectcodeFfmpeg
运行F:ShiftMediaProjectcodeFfmpegSMPproject_get_dependencies.bat,会自动在code下面克隆依赖的其他项目
建立文件夹F:ShiftMediaProjectmsvcinclude,并在下面建立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 Studio2017CommunityCommon7IDEVCVCTargetsBuildCustomizations
在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 Studio2017CommunityVC
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:ShiftMediaProjectcodeFfmpegSMP ffmpeg_deps.sln ,选好配置项,编译ffmpeg、ffplay、ffprobe,会自动编译依赖项。[***dllstaticdps可以编译通过,其他的配置属性存在问题需要自己修改]
ffmpeg_deps.sln包含依赖项目,以后可以使用ffmpeg.sln,不包含依赖项目
生成的文件在F:ShiftMediaProjectmsvc下面
调试需要将[属性->调试->命令] 的值改成和[属性->链接器->输出文件]一样。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
如果嫌上面操作麻烦,某些文件下载还被墙了,可以到 https://gitee.com/ztwlla/FFMPEG 获取我全部处理好的项目,下载后直接可用。
最后
以上就是害怕鼠标为你收集整理的vs2017编译FFMPEG的全部内容,希望文章能够帮你解决vs2017编译FFMPEG所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复