obs-studio 31.0.1在windows编译提示缺失ffmpeg,Could NOT find FFmpeg (missing: FFmpeg_LIBRARIES FFmpeg_INCLUDE_DIRS avformat avutil swscale swresample) (Required is at least version “6.1”)
obs-studio在windows编译提示缺失ffmpeg,Could NOT find FFmpeg (missing: FFmpeg_LIBRARIES FFmpeg_INCLUDE_DIRS avformat avutil swscale swresample) (Required is at least version “6.1”)
解决方法:
CMAKE_PREFIX_PATH路径添加或修改为D:/ffmpeg。如果修改为D:/ffmpeg,cmake configure时,会自动追加obs-deps的路径。
再次configure,提示“Could NOT find FFmpeg: (Required is at least version “6.1”) (found
D:/ffmpeg/bin/avformat-60.dll;D:/ffmpeg/bin/avutil-58.dll;D:/ffmpeg/bin/swscale-7.dll;D:/ffmpeg/bin/swresample-4.dll;D:/ffmpeg/bin/avcodec-60.dll,
found components: avformat avutil swscale swresample avcodec)”
此时更换ffmpeg版本也不行。ffmpeg的下载,可以到 https://github.com/GyanD/codexffmpeg/releases下载shared版本,shared版本包含开发需要的include和lib文件夹。
解决方法:
打开 obs-studio-31.0.1\libobs\CMakeLists.txt 文件,修改第12行的 find_package(FFmpeg 6.1 REQUIRED avformat avutil swscale swresample OPTIONAL_COMPONENTS avcodec) 为 find_package(FFmpeg REQUIRED avformat avutil swscale swresample OPTIONAL_COMPONENTS avcodec) ,即,去掉版本判断。 这里即使版本改为 1.1之类的都不行,说明这里不是ffmpeg版本不对,而是obs studio的代码有问题,版本判断方法陈旧,不再兼容新版本的ffmpeg。
转载请注明来源,谢谢。
有偿解决C++编程问题,承接项目定制开发;寻一份全职或兼职Windows C++开发工作。联系邮箱:[email protected]。