Я пробирался через Интернет, чтобы найти хорошее прохождение FFMPeg
и его нюансы.FFMPeg 2 pass C#
У меня сейчас есть рабочая настройка. Это двухпроходная кодировка. Если я использую CMD окно и используйте следующие аргументы:
FFmpeg -ic: \ TEMP \ 175663.lbl.mp4.mps -vcodec mpeg4 -b: v 1300K -s 640x360 -aspect 16: 9 - проход 1 -r 29.970 -an -f rawvideo -y NUL & & ffmpeg -ic: \ temp \ 175663.lbl.mp4.mps -vcodec mpeg4 -b: v 1300k -s 640x360 -спектр 16: 9 -pass 2 -r 29,970 -acodec libmp3lame -ab 128K -ar 48000 C: \ Temp \ кодируются \ 175663.NTP.mp4
я получаю файл журнала в каталоге ffmpeg.exe
. Который я считаю хорошим досье. Я также получаю действительный хороший файл mp4. Однако я не знаю, действительно ли файл журнала используется на pass2. Если я запускаю только второй проход (все после & &) в CMD-окне все отдельно. Я получаю действительный файл mp4. Почему нет ошибки? Это заставляет меня подозревать, что первоначальный проход вообще не используется для второго прохода.
Во-вторых, как я могу программно удалить журнал pass1? Есть ли соглашение об именах, в которое я могу войти? В конце концов это приложение будет работать на нескольких потоках на тех же/других машинах. Поэтому я не могу просто удалить * .log из папки ffmpeg. Есть ли способ назвать файлы по мере их создания?
Наконец, я, похоже, не могу запустить новый процесс на C# с приведенным выше аргументом. Если я опускаю ffmpeg (потому что процесс запускает сам ffmpeg), я получаю сообщение об ошибке & &. Я не думаю, что ему нравится делать два прохода. Если я делаю один проход за раз, я не получаю файл журнала, даже пытающийся использовать его на втором проходе.
Любая информация была бы потрясающей. Спасибо за ваше время заранее!
Благодарим за помощь. Я просто хотел убедиться, что журнал использовался на этапе 2. У меня не было никакого способа проверить. У меня есть довольно много файлов для кодирования, и я бы не хотел снова возвращаться к ним. Еще раз спасибо! – zerosandones