我有这段代码:
public void Start(string FileName, Bitmap Sample_Bitmap, int BitmapRate )
{
p = new NamedPipeServerStream(pipename, PipeDirection.Out, 1, PipeTransmissionMode.Byte);
byte[] b = new byte[1280 * 720 * 3]; // some buffer for the r g and b of pixels of an image of size 720p
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = @"D:\pipetest\pipetest\ffmpegx86\ffmpeg.exe";
process.EnableRaisingEvents = false;
process.StartInfo.WorkingDirectory = @"D:\pipetest\pipetest\ffmpegx86";
process.StartInfo.Arguments = @"-f rawvideo -pix_fmt rgb24 -video_size 1280x720 -i
\\.\pipe\mytestpipe -map 0 -c:v libx264 -r " + BitmapRate + " " + FileName;
process.Start();
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = false;
p.WaitForConnection();
}
所以我知道BitmapRate做什么和FileName但其余的参数。
-f ?
和原始视频是解码器或编码器? -i ? -c:v ? libx264
的代码是我猜的编解码器-r ?
尝试使用google获取此参数格式,但未找到任何格式。
我有4个文本文件列表:
两个文件中的 encoders.txt decoders.txt
我也有rawvideo。
我有pixfmts.txt and fileformats.txt
个文件。
我想从变量构建参数字符串。
所以例如BitmapRate是int而FileName是string。其余的论点是什么类型的变量我应该放在函数中?
例如
rgb24是什么类型的? 1280x720是什么类型的变量呢 应该是吗?
答案 0 :(得分:1)
你看过这个链接吗?
http://linux.die.net/man/1/ffmpeg
它可能会回答您关于参数的一些问题,包括1280x720。通过这个,希望你可以映射到你的要求(使用ffmpeg.exe!)并验证!