Разрезать видеофайл на дорожки

У меня есть видеофайл, мне нужно разрезать его на дорожки так, чтобы каждая сохранялась в отдельный файл. Сделать это нужно консольными программами под linux и так, чтобы файл читался один раз, а не по разу для каждой дорожки (файл примонтировал по httpfs).

ffmpeg -i file.avi -vn -acodec copy -map 0:1 -f mp4 a1.mp4 сохранит только одну дорожку. Мне нужен аналог этой команды, который бы сработал сразу для всех (или нескольких). Не обязательно, через ffmpeg.

Не могу найти модходящую опцию или софтину для этого. Возможно, на Хабре кто-то знает
  • Вопрос задан
  • 2679 просмотров
Пригласить эксперта
Ответы на вопрос 2
@rPman
Использовать пайпы и tee для дублирования потока:
mkfifo pipe1
mkfifo pipe2
tee pipe1 < file.avi > pipe2 | ( (ffmpeg -i pipe1...&);(ffmpeg -i pipe2...&) )
Ответ написан
@impass
С вероятностью 99% готовых решений вы не найдёте, чтобы прямо в один проход все имеющиеся дорожки сохранялись в разные файлы.
Наиболее целесообрано, наверное, взять исходный код transcode (в частности утилиты tcextract) или mplayer (опции -dumpaudio и -dumpvideo уже реализованы) и доработать под свои нужды.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы