我在我的项目中添加了一个 ffmpeg.exe,但它是 64 位版本。我在我的项目中对文件属性做了:总是内容和复制。
但是当我的兄弟尝试运行需要 ffmpeg.exe 的项目时,程序崩溃了,因为他得到了 windows xp 32bit。
这就是我在代码中使用 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 位?