FFMPEG объединяет видео MP4 с одинаковой кодировкой не работает, показывает только первое видео - PullRequest
0 голосов
/ 05 апреля 2020

Мои mp4-видео имеют одинаковую кодировку: h264

Я знаю, потому что я выполнил для них эту команду:

ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 a.mp4

Теперь я объединяю их, используя следующие команда:

ffmpeg -loglevel quiet -f concat -safe 0 -i video-list.txt -c copy video-final.mp4

мой файл video-list.txt выглядит следующим образом:

file 'a.mp4'
file 'b.mp4'
file 'c.mp4'

Теперь video-final.mp4, который на самом деле является объединенным видео имеет длительность, равную сумме его компонентных видео, а также довольно большую по размеру. Проблема в том, что, когда я играю видео, оно воспроизводит только первое видео, а затем останавливается.

Что здесь происходит? Любое понимание будет приветствоваться.

Я смотрел: ffmpeg: Объединение / объединение нескольких видео mp4 не работает, вывод содержит только первое видео и ответы, предложенные есть те, которые я Использую: конкретно, конкатенацию из текстового файла, содержащего компонент видео.

1 Ответ

1 голос
/ 12 апреля 2020

Аудиопотоки в файлах примеров не совпадают.

output1.mp4:

Audio: aac (LC) (mp4a / 0x6134706D), 24000 Hz, mono, fltp, 112 kb/s (default)

vide-stati c -final.mp4:

Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 155 kb/s (default)

Частота дискретизации и расположение каналов не совпадают. Один из них должен быть преобразован в соответствии с другим.

Для аудио, код c (aac), код c профиль (LC), частота дискретизации или частота (48000 Hz) , расположение канала (stereo) и примерный формат (fltp) должны совпадать. Битрейт не важен.

Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv444p, 640x360, 1365 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)

Для видео, код c (h264), профиль (High 4:4:4 Predictive), формат пикселей (yuv444p) и разрешение (640x360) должны матч. Если шкала времени (12800 tbn) отличается, то скорость воспроизведения будет неправильной, а общая продолжительность будет неправильной. Синхронизация звука c также будет потеряна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...