我如何在ffmpeg arguments命令行中知道每个参数的作用?

时间:2013-05-24 07:08:05

标签: c# winforms ffmpeg

我有这段代码:

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是什么类型的变量呢   应该是吗?

1 个答案:

答案 0 :(得分:1)

你看过这个链接吗?

http://linux.die.net/man/1/ffmpeg

它可能会回答您关于参数的一些问题,包括1280x720。通过这个,希望你可以映射到你的要求(使用ffmpeg.exe!)并验证!