Многопроходная кодировка FFmpeg

Извините, я действительно новичок в этом, и у меня проблемы с выполнением некоторых задач без помощи.

Итак, у меня есть команда терминала:

ffmpeg \
-y \
-i '/media/levan/BEEA60D8EA608E89/Downloads/Videos/Tony Braxton - Un-Break My Heart.VOB' \
-s 1920x1080 \
-aspect 16:9 \
-r 25 \
-b 15550k \
-bt 19792k \
-vcodec libtheora \
-acodec libvorbis \
-ac 2 \
-ar 48000 \
-ab 320k \
ddd.ogg

, и я хочу иметь 3-го видео в выходном видео, но как это сделать?

Я обнаружил, что я должен написать команду -pass n, где, но где ее написать, я не знаю. Я протестировал это и написал -pass 3 в конце, но затем терминал просто показал символ >.

1
задан 24 November 2013 в 04:25

2 ответа

Я бы предположил, что вы не используете исходный код сценария оболочки ~ / bin / audio_video_conversions.sh и вместо этого запускаете 2 команды в командной строке один за другим, чтобы узнать, где он разбивается.

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

Unable to find a suitable output format for '/dev/null'

на своем первом проходе. Найдите в своем каталоге команду

ls 

. Убедитесь, что у вас есть файл

ffmpeg2pass-0.log

, созданный после pass-1.

Вы попросили ffmpeg сделать двухпроходный конвертер, чтобы найти дисперсию в битрейте в протоколе pass-1, записать информацию о битрейте в файл и использовать файл журнала, чтобы сделать более эффективный лучший проход-2. Но вы также сказали, что ffmpeg не меняет битрейт. Не могу обойти оба.

-bt 19792k \

Кого вы хотите? Вы хотите, чтобы ffmpeg изменил битрейт с помощью 2-х прохода? ИЛИ Вы хотите, чтобы ffmpeg сохранял -bt 19792k только с одним проходом?

[libx264 @ 0x195fd20] constant rate-factor is incompatible with 2pass.
1
ответ дан 25 May 2018 в 03:45

Итак, я понимаю, что первый проход - это получить информацию для второго ... Я слышал, что чем больше вы делаете, тем меньше ваш файл.

Моя функция:

avconv -i $fileName -threads auto -c:v libx264 -preset veryslow -pass 1 /dev/null;
logInfo "First Pass done! doing second......"
avconv -i $fileName -pass 2 -threads auto -c:v libx264 -preset veryslow ${targetFile};

результат:

]
pg@pipoTower: /var/autofs/removable/usbData/movies/.../VIDEO_TS$ source ~/bin/audio_video_conversions.sh ;my_convert_to_mpeg4_2pass VTS_01_1.VOB
INFO --> Converting with 2 passes source file:VTS_01_1.VOB- date is Fri Aug 30 15:15:28 CEST 2013
INFO --> Target file name:VTS_01_1_20130830_151528.mp4-
avconv version 0.8.6-6:0.8.6-1ubuntu2, Copyright (c) 2000-2013 the Libav developers
built on Mar 30 2013 22:20:06 with gcc 4.7.2
[mpeg @ 0x11d6b80] max_analyze_duration reached
Input #0, mpeg, from 'VTS_01_1.VOB':
Duration: 00:17:10.62, start: 0.280000, bitrate: 8334 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [PAR 16:15 DAR 4:3], 8500 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Unable to find a suitable output format for '/dev/null'
INFO --> First Pass done! doing second......
avconv version 0.8.6-6:0.8.6-1ubuntu2, Copyright (c) 2000-2013 the Libav developers
built on Mar 30 2013 22:20:06 with gcc 4.7.2
[mpeg @ 0x1952b80] max_analyze_duration reached
Input #0, mpeg, from 'VTS_01_1.VOB':
Duration: 00:17:10.62, start: 0.280000, bitrate: 8334 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [PAR 16:15 DAR 4:3], 8500 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
[buffer @ 0x19620c0] w:720 h:576 pixfmt:yuv420p
[libx264 @ 0x195fd20] using SAR=16/15
[libx264 @ 0x195fd20] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX XOP FMA4 SSEMisalign LZCNT
[libx264 @ 0x195fd20] constant rate-factor is incompatible with 2pass.
Output #0, mp4, to 'VTS_01_1_20130830_151528.mp4':
Stream #0.0: Video: libx264, yuv420p, 720x576 [PAR 16:15 DAR 4:3], q=-1--1, pass 2, 90k tbn, 25 tbc
Stream #0.1: Audio: [0][0][0][0] / 0x0000, 48000 Hz, stereo, s16, 200 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video -> libx264)
Stream #0:1 -> #0:1 (ac3 -> libvo_aacenc)
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
0
ответ дан 25 May 2018 в 03:45
  • 1
    Я плохо разбираюсь в линии благодарности, поэтому я постараюсь помочь, но я не уверен, будет ли это работать или нет. Во-первых, это я знаю, у вас может быть только 2 прохода, а не более того, у вас есть размер файла, который не меняется, размер файла - это скорость передачи данных, 2 прохода делают попытку сделать качество лучше, у него больше данных для работы так что есть вероятность, что видео будет выглядеть ближе к оригиналу. Я рекомендую вам использовать ручной тормоз, чтобы конвертировать видео в фантастический инструмент. о вашей похвале, я не уверен, но когда я использую для рендеринга с ffmpeg и 2 pass, я использовал для копирования первого комментария и изменения от 1 до 2 – Levan 31 August 2013 в 03:22
  • 2
    Thx для вашего комментария, я уже использую ручной тормоз, который хорош! – Philippe Gachoud 1 September 2013 в 19:16
  • 3
    Но если вы хотите использовать ffmpeg, вы можете использовать «ffmpeg little helper». google it и есть веб-сайт, который поможет вам с благодарностью – Levan 1 September 2013 в 23:36

Другие вопросы по тегам:

Похожие вопросы: