Я пытаюсь объединить несколько видео mp4 в одно с помощью ffmpeg. "Как" для этого в основном одинаковы в Интернете:
ffmpeg -f concat -i inputfile.txt -c copy output.mp4
Но когда я пытаюсь объединить мои файлы, я получаю вывод, подобный следующему:
[concat @ 0x1f72560] DTS 3815 < 3812809 out of order
[mp4 @ 0x20ad2e0] Non-monotonous DTS in output stream 0:0; previous: 3812809, current: 3815; changing to 3812810. This may result in incorrect timestamps in the output file.
В результате у меня есть файл, где аудио и видео работают для первого сегмента, но только аудио работает для последующих сегментов. Иногда я получаю видео без звука.
Некоторые пользователи переключаются на MP4Box, но я пробовал MP4Box с теми же результатами. Что мне не хватает? Я видел этот пост, в котором говорится, что проблема с -c copy
, но я не совсем понимаю, что говорится о перекодировании или почему это необходимо.
Команда:
ffmpeg -f concat -i test.txt -c copy test.mp4 &> result.txt
Содержание test.txt
file '/raw/01 - Introduction.mp4'
file '/raw/02 - Background Material.mp4'
Содержание result.txt
: http://paste.ubuntu.com/12101801/