Интересно, возможно ли объединить видео файлы с помощью cat
команды? Я имею в виду, будет ли результирующий файл воспроизводиться без проблем?
Интересно, возможно ли объединить видео файлы с помощью cat
команды? Я имею в виду, будет ли результирующий файл воспроизводиться без проблем?
Ответы:
Да, это возможно. Но не все форматы поддерживают это.
Несколько мультимедийных контейнеров (MPEG-1, MPEG-2 PS, DV) позволяют объединять видеофайлы, просто объединяя их.
При конвертации в форматы RAW у вас также есть высокая вероятность того, что файлы могут быть объединены.
ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
cat intermediate1.mpg intermediate2.mpg > intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi
Но с помощью cat
этого способа создаются промежуточные файлы, в которых нет необходимости. Это лучший подход, чтобы избежать создания этих промежуточных файлов:
ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
ffmpeg -i concat:"intermediate1.mpg|intermediate2.mpg" -c copy intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi
Есть два вида медиа-файлов
поточный
не-поточный
Основное различие заключается в том, как два формата файлов встраивают метаинформацию. в неформатируемых форматах метаинформация («заголовок») хранится в определенной позиции в файле, обычно в начале, иногда в конце. Вы не можете просто объединить такие файлы, так как метаинформация из одного из файлов будет находиться в нестандартном месте и поэтому будет игнорироваться.
OTOH, потоковые форматы должны быть в состоянии обрабатывать слушателей, которые начнут воспроизводить файл «где-то посередине». Поэтому эти форматы продолжают пересылать метаинформацию и даже позволяют обновлять ее в файле / потоке. Эти форматы могут быть просто объединены.
Как сказал BЈовић, в общем, каждый файл имеет свой заголовок. Попробуйте на этом примере из Ubuntu How To's :
mencoder -ovc copy -oac copy video1.avi video2.avi -o completevideos.avi
Нет, это невозможно, потому что у каждого видеофайла есть заголовок. Для объединения видео вам нужно использовать инструмент (например, ffmpeg или mencoder ).