我们需要使用 ffmpeg 二进制文件和 c# 项目将图像(来自摄像机实时流)动态转换为视频流。
Aforge.net
我们在我们的系统(windows 7,32 位)中安装了框架 2.2.4.1 并使用Aforge.video.Ffmpeg
dll 实现了视频录制编码。它工作正常,正如我们预期的那样。然后我们尝试在 64 位系统中工作相同的项目。
它给了我错误
“无法加载文件或程序集 'AForge.Video.FFMPEG.dll' 或其依赖项之一。不是有效的 Win32 应用程序。(来自 HRESULT 的异常:0x800700C1)”。
我们浏览了一些论坛,找到了将目标平台更改为 x86 以在 32 位上运行的解决方案。但由于某些其他原因,我们应该保留x64
作为我们的平台目标。根据论坛中的另一篇帖子,我们下载了 64 位ffmpeg
来自此链接“ http://ffmpeg.zeranoe.com/builds/ ”的库并将 64 位版本替换avcodec-53.dll,avdevice-53.dll, avfilter-2.dll,avformat-53.dll, avutil-53.dll, swscale-2.dll
到我的项目输出文件夹中。当我们尝试使用 64 位版本制作 Aforge.video.ffmpeg.dll 时Aforge.net 框架给出的源代码,构建不成功。
我们认为此源代码是为 win32 平台构建的,我们尝试仅通过单独替换 64 位 ffmpeg 二进制文件来获取 Aforge.Video.Ffmpeg dll。我们不确定是否需要包含除 ffmpeg 之外的任何其他依赖文件制作 dll 的二进制文件。是否有任何 Aforge.net 框架设置可用于生成 64 位版本的 Aforge.Video.ffmpeg dll?