2013-03-13 3 views
8

У меня есть сервер с 16 каналами видеозахвата, входящими в него, и вы хотите передать их с помощью ffmpeg, возможно ли выпустить другой поток, который представляет собой коллаж 4x4 из 16 уникальных каналов?Как объединить несколько потоков ffmpeg в один коллаж 4x4?

Редактирование: добавление баунти, так как рабочий ответ еще не представлен - будет вознагражден его первому, который может показать код для создания сетки 4x4 из 16 каналов в реальном времени (устройство ввода - http: // localhost: 8090 /x.mpg, где x = число 0-15, 352x288 видео в формате MPEG1VIDEO, цвет YUV420P при 24-30FPS) - или код, который приводит меня к этому решению - вывод будет расположен по адресу http: // localhost: 8090/all.mpg и будет потоком в реальном времени 1408x1152 миль на галлон.

+0

Возможный дубликат [Лучший способ объединить 16 прямых трансляций в живой коллаж 4x4 в Linux] (http://stackoverflow.com/questions/15390530/best-way-to-combine-16-live-streams-into -a-live-4x4-collage-in-linux) – Hasturkun

+1

Это не дубликат, я склоняюсь к ffmpeg, но я спросил, есть ли лучший способ в другом потоке, чтобы увидеть, есть ли он. Эта тема специально предназначена для создания потокового коллажа в реальном времени в ffmpeg. – CoryG

ответ

7

Я думаю, что вы ищете фильтр наложения ffmpeg, вот documentation с некоторыми примерами. Ниже приведена копия примера 2x1, но вам нужно будет внести коррективы в формат потока, размеры рамок и другие панели.

ffmpeg -i left.avi -i right.avi -filter_complex " 
nullsrc=size=200x100 [background]; 
[0:v] setpts=PTS-STARTPTS, scale=100x100 [left]; 
[1:v] setpts=PTS-STARTPTS, scale=100x100 [right]; 
[background][left]  overlay=shortest=1  [background+left]; 
[background+left][right] overlay=shortest=1:x=100 [left+right] 
" 

С другой стороны, есть также способ создания мозаики с VLC.

+0

Есть ли способ использовать фильтр наложения в качестве выходного потока? – CoryG

+1

Да, выход фильтра может быть подключен к потоку точно так же, как и любой другой выход ffmpeg. Точная настройка потоковой передачи может быть сложным ответом в зависимости от ваших требований, но см. Http://ffmpeg.org/trac/ffmpeg/wiki/StreamingGuide – Digikata

+3

Также см. [Многократное наложение ввода в сетке 2x2] (https://ffmpeg.org/trac/ffmpeg/wiki/FilteringGuide#multipleinputoverlayin2x2grid) в [FFmpeg Community Contributed Documentation Wiki] (https://ffmpeg.org/trac/ffmpeg/wiki). – LordNeckbeard

 Смежные вопросы

  • Нет связанных вопросов^_^