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]


老刀的技术日志 » 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”)

发表评论