FFMPEG склеить несколько входных файлов: различия между версиями
Материал из AlexNook
Перейти к навигацииПерейти к поиску
ALEX (обсуждение | вклад) (Новая страница: «Очень подробное описание того, как работает склейка различных входных файлов (это может …») |
ALEX (обсуждение | вклад) |
||
Строка 4: | Строка 4: | ||
Для начала нужно создать текстовый файлик вот с таким содержимым: | Для начала нужно создать текстовый файлик вот с таким содержимым: | ||
{{File|mylist.txt| | |||
file '111.mkv' | <pre>file '111.mkv' | ||
file '222.mkv' | file '222.mkv' | ||
file '333.mkv' | file '333.mkv' | ||
file '444.mkv' | file '444.mkv' | ||
file '555.mkv' | file '555.mkv' | ||
</pre>}} | |||
Далее выполняем команду | |||
{{root|ffmpeg -f concat -safe 0 -i mylist.txt -c copy -y output.mkv}} | |||
'''- | '''-safe 0''' рекомендуется использовать, если пути будут абсолютные. Не обязателен, когда пути к входным файлам относительные | ||
'''-y''' Переписать выходной файл, если он уже существует | '''-y''' Переписать выходной файл, если он уже существует | ||
Текущая версия на 15:09, 2 сентября 2021
Очень подробное описание того, как работает склейка различных входных файлов (это может быть видео, звуковые файлы, а могут быть контейнеры, откуда можно забрать только определённые дорожки с видео и аудиопотоками) дано вот тут
Ниже приведу простой пример склейки нескольких видеофайлов у которых одинковые аудио дорожки и кодек. Хороший кейс этого случая, когда мы из исходного видеофайла сделали нарезку, а потом хотим эту нарезку склеить в новый выходной видео файл.
Для начала нужно создать текстовый файлик вот с таким содержимым:
File: mylist.txt
file '111.mkv' file '222.mkv' file '333.mkv' file '444.mkv' file '555.mkv'
Далее выполняем команду
ffmpeg -f concat -safe 0 -i mylist.txt -c copy -y output.mkv
-safe 0 рекомендуется использовать, если пути будут абсолютные. Не обязателен, когда пути к входным файлам относительные
-y Переписать выходной файл, если он уже существует