我如何将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,只需创建子目录- X86'ffmpeg.exe和x64'ffmpeg.exe和给合适的人打电话。
查看您的操作系统是否支持64位,使用System.Environment.Is64BitOperatingSystem
如何以编程方式检测您是否在64位Windows上运行
http://blogs.msdn.com/b/oldnewthing/archive/2005/02/01/364563.aspx