Как изменить битрейт с помощью функций nreco с помощью текстового поля? - PullRequest
2 голосов
/ 01 октября 2019

Я пытаюсь написать конвертер в C #, используя Nreco.VideoConverter. У меня никогда не было никакого опыта с этим прежде. Я начал исследовать эту область, потому что меня спросили на работе. Моя проблема в том,Я могу изменить значение битрейта в видео конвертере. Если у вас есть выпадающий список или определенное значение. Но, если есть какое-либо значение для ввода из текстового поля, я не могу соответственно адаптировать код. Ниже приведен код, который я использую. Пожалуйста, помогите.

Код есть;

  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. Пожалуйста, помогите для этого. Спасибо.

То, что я пробовал:

Я хочу сделать это;но это возможно или правда, я понятия не имею,

1 Ответ

1 голос
/ 01 октября 2019

Попробуйте это

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

Редактировать: Объяснение проблемы в коде Ваши CustomOutputArgs оказались: -b: v1000k -bufsize1000k вместо -b: v 1000k-bufsize 1000k (обратите внимание на пробелы)

...