使用ffmpeg.autogen库时触发NotSupportedException异常求助
FFmpeg.AutoGen 调用函数抛出 NotSupportedException 问题排查
针对你遇到的问题,可从以下几个方向排查:
版本兼容性匹配
FFmpeg.AutoGen的NuGet包版本必须与本地FFmpeg的版本严格对应。你本地的DLL是avcodec-59、avutil-57这类版本号,需要确认安装的FFmpeg.AutoGen包是否支持该版本的FFmpeg。版本不匹配会直接导致函数调用时抛出异常。平台位数一致
确认你的项目目标平台设置为x64(和你提供的DLL位数一致),而非Any CPU或x86。若平台位数不匹配,DLL无法正确加载,进而触发NotSupportedException。手动触发FFmpeg加载
尝试在设置RootPath后手动调用ffmpeg.LoadFFmpeg()方法,确保FFmpeg的DLL被正确加载。修改后的代码如下:using FFmpeg.AutoGen; static void Main(string[] args) { ffmpeg.RootPath = @"C:\Users\quent\source\repos\BulkVideoThumbnailTest\BulkVideoThumbnailTest\bin\Debug\net6.0\FFmpeg\bin\x64"; ffmpeg.LoadFFmpeg(); Console.WriteLine(ffmpeg.av_version_info()); }检查DLL依赖项
FFmpeg的DLL依赖Visual C++ Redistributable运行库,需确保安装了对应x64版本的VC++运行库。也可以用Dependency Walker工具检查你提供的FFmpeg DLL是否存在缺失的依赖文件。
内容的提问来源于stack exchange,提问作者BBonless
相关产品推荐
相关产品推荐

