Цікаво, чи можливо об'єднати відеофайли за допомогою 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
Мультимедійні файли є двома видами
струменевий
нестримний
Основна відмінність полягає в тому, як два формати файлів вбудовують метаінформацію. з форматів, які не є потоковими , метаінформація ("заголовок") зберігається у визначеному положенні у файлі, як правило, на початку, іноді в кінці. Ви не можете просто об'єднати такі файли, оскільки метаінформація з одного з файлів буде знаходитись у нестандартному місці та, таким чином, буде проігнорована.
Ото, потокові формати повинні бути в змозі впоратися слухачами , які будуть почати відтворення файлу «де - то в середині». Тому ці формати продовжують повторно надсилати метаінформацію і навіть дозволяють оновлювати її у файлі / потоці. Ці формати можна просто об'єднати.
Як сказав Бович, загалом кожен файл має свій заголовок. Спробуйте з цим прикладом від Ubuntu How To :
mencoder -ovc copy -oac copy video1.avi video2.avi -o completevideos.avi
Ні, це неможливо, тому що кожен відеофайл має заголовок. Для об'єднання відео потрібно скористатися інструментом (наприклад, ffmpeg або mencoder ).