Несколько параллельных видеопотоков в одном файле без транскодирования - PullRequest
0 голосов
/ 23 мая 2018

Я изучаю возможность хранения видеопотоков, поступающих из нескольких источников, уже закодированных в h264, без перекодирования видео, поскольку устройство, которое я хотел бы использовать для этого проекта, не сможет перекодировать объединенное видео на лету.

Я ищу две или более картинки из стороны в сторону (не объединение видео), упакованные в mp4 / avi / mkv.

Я считаю, что контейнер mkv поддерживает такую ​​упаковку, но яне удалось найти подходящие опции для ffmpeg или другого инструмента для его хранения таким образом.Это делает очень медленное транскодирование видео в один большой поток h264.

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Если ваш игрок может справиться с этим, просто заставьте его выполнять бок о бок.Не требуется кодирование или мультиплексирование.

mpv видеоплеер

enter image description here

Пример использования mpv :

mpv --lavfi-complex="[vid1][vid2]hstack[vo];[aid1][aid2]amix[ao]" input1.mp4 --external-file=input2.mp4

В приведенном выше примере предполагается, что каждый вход имеет одинаковую высоту.В противном случае вам нужно будет добавить фильтры scale, scale2ref, pad и / или crop.Простой пример использования фильтра кадрирования для удаления 20 пикселей с высоты:

mpv --lavfi-complex="[vid1]crop=iw:ih-20[c];[c][vid2]hstack[vo];[aid1][aid2]amix[ao]" input1.mp4 --external-file=input2.mp4

См. Документацию mpv и FFmpeg Filters для получения дополнительной информации.

0 голосов
/ 23 мая 2018

Просто укажите несколько входов.

ffmpeg -i [input 1] -i [input 2] ... -map 0 -map 1 ... -codec copy -f matroska [output]

Что касается части "из стороны в сторону", то игрок должен определить презентацию.Если вы не управляете плеером и вам нужен определенный макет или презентация, то вы должны «записать» все эти видеопотоки в новый и кодировать его как новый отдельный поток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...