我如何将ffmpeg.exe文件添加到我的项目中,但两个文件一个为32位,一个为64位

本文关键字:文件 一个 64位 32位 两个 ffmpeg exe 添加 项目 我的 | 更新日期: 2023-09-27 18:17:38

我在我的项目中添加了一个ffmpeg.exe,但它是64位版本。我在我的项目中设置了文件属性:Content and Copy always .

但是当我哥哥试图运行需要ffmpeg.exe的项目时,由于他安装了windows xp 32位,程序崩溃了。

这就是我如何在我的代码中使用ffmpeg.exe:

public void Start(string pathFileName, int BitmapRate)
        {
            string outPath = pathFileName;
            p = new NamedPipeServerStream(pipename, PipeDirection.Out, 1, PipeTransmissionMode.Byte);
            b = new byte[1920 * 1080 * 3]; // some buffer for the r g and b of pixels of an image of size 720p
            ProcessStartInfo psi = new ProcessStartInfo();
            psi.WindowStyle = ProcessWindowStyle.Hidden;
            psi.UseShellExecute = false;
            psi.CreateNoWindow = true;
            psi.FileName = ffmpegFileName;
            psi.WorkingDirectory = workingDirectory;
            psi.Arguments = @"-f rawvideo -pix_fmt bgr0 -video_size 1920x1080 -i ''.'pipe'mytestpipe -map 0 -c:v libx264 -r " + BitmapRate + " " + outPath;
            //psi.RedirectStandardOutput = true;
            process = Process.Start(psi);
            process.EnableRaisingEvents = false;
            p.WaitForConnection();
        }

问题是:我如何添加另一个ffmpeg.exe到我的项目,但32位这次的问题是,我的项目已经ffmpeg.exe

第二,我如何检测或检查用户是否有32位所以运行/使用ffmpeg.exe 32位,如果用户有windows 64位使用64位?

我如何将ffmpeg.exe文件添加到我的项目中,但两个文件一个为32位,一个为64位

要包含两次ffmpeg,只需创建子目录- X86'ffmpeg.exe和x64'ffmpeg.exe和给合适的人打电话。

查看您的操作系统是否支持64位,使用System.Environment.Is64BitOperatingSystem

如何以编程方式检测您是否在64位Windows上运行

http://blogs.msdn.com/b/oldnewthing/archive/2005/02/01/364563.aspx