2

我正在尝试使用 Nreco.VideoConverter 在 C# 中编写一个转换器。我以前从未有过这些方面的经验。我开始研究这个领域是因为我在工作中被问到。我的问题是;我可以更改视频转换器中的比特率值。如果您有组合框或特定值。但是,如果从文本框中输入任何值,我无法相应地调整代码。下面是我使用的代码。请帮忙。

代码是;

  if (comboBox2.Text == "_1000kbit")
    {
    if (comboBox1.Text == "mp4" || comboBox1.Text == "mp4 1280 x 720 16 : 9" || comboBox1.Text == 
    "mp4 640 x 350 16 : 9" || comboBox1.Text == "mp4 720 x 540")
    {
     var ffmpeg = new NReco.VideoConverter.FFMpegConverter();
     ffmpeg.ConvertMedia(VideoPath, null, MusicPath, null, new ConvertSettings()
       {
       CustomOutputArgs = "-b:v 1000k -bufsize 1000k"
       });
       }

         }

但我想这样做;

 if (comboBox2.Text == "_1000kbit")
          {
           if (comboBox1.Text == "mp4" || comboBox1.Text == "mp4 1280 x 720 16 : 9" || 
            comboBox1.Text == "mp4 640 x 350 16 : 9" || comboBox1.Text == "mp4 720 x 540")
           {
              var ffmpeg = new NReco.VideoConverter.FFMpegConverter();
             ffmpeg.ConvertMedia(VideoPath, null, MusicPath, null, new ConvertSettings()
            {
          CustomOutputArgs = "-b:v"+textBox1.Text+"k -bufsize"+textBox1.Text+"k"
          });
          }

             }

那么有可能吗?如果可能的话,我该怎么做?因为当我输入它时,它说ffmpeg找不到参数。顺便说一句,我将textbox值设置为 int。请为此提供帮助。谢谢你。

我试过的:

我想这样做;但这是可能的还是真的我不知道

4

1 回答 1

1

试试这个

 CustomOutputArgs = String.Format("-b:v {0}k -bufsize {0}k", textBox1.Text);

编辑:解释代码中的问题您的 CustomOutputArgs 原来是:-b:v1000k -bufsize1000k 而不是-b:v 1000k -bufsize 1000k(注意空格)

于 2019-10-01T10:42:27.540 回答