2013-03-13 4 views
8

J'ai un serveur avec 16 canaux de cartes de capture vidéo et je veux les diffuser avec ffmpeg, est-il possible d'avoir un autre flux qui est un collage 4x4 des 16 canaux uniques? Edit: Ajout d'une prime puisque aucune réponse de travail n'a encore été soumise - le récompensera au premier qui peut afficher le code pour produire une grille 4x4 de 16 canaux en direct (périphérique d'entrée étant http: // localhost: 8090 /x.mpg où x = un numéro de vidéo 0-15, 352x288 au format MPEG1VIDEO, couleur YUV420P à 24-30FPS) - ou le code qui me mène à cette solution - la sortie sera située à http: // localhost: 8090/all.mpg et sera un flux en direct 1408x1152 mpg.Comment combiner plusieurs flux ffmpeg en un seul collage 4x4?

+0

duplication possible de [Meilleure façon de combiner 16 flux en direct dans un collage 4x4 en direct sous Linux] (http://stackoverflow.com/questions/15390530/best-way-to-combine-16-live-streams-into -a-live-4x4-collage-dans-linux) – Hasturkun

+1

Ce n'est pas un doublon, je me suis penché vers ffmpeg mais j'ai demandé s'il y avait un meilleur moyen dans un autre thread pour voir s'il y en a un. Ce fil est spécifiquement comment accomplir un collage de streaming en direct dans ffmpeg. – CoryG

Répondre

7

Je pense que vous cherchez le filtre de superposition ffmpeg, voici le documentation avec quelques exemples. Une copie d'un exemple 2x1 est ci-dessous, mais vous devrez faire des ajustements pour le format de votre flux, la taille des cadres et plus de panneaux.

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] 
" 

Alternativement, il est aussi un moyen de générer un mosiac avec VLC.

+0

Existe-t-il un moyen d'utiliser le filtre de superposition en tant que flux de sortie? – CoryG

+1

Oui, la sortie du filtre peut être branchée dans un flux comme n'importe quelle autre sortie ffmpeg. La configuration exacte du streaming peut être une réponse complexe en fonction de vos besoins, mais voir http://ffmpeg.org/trac/ffmpeg/wiki/StreamingGuide – Digikata

+3

Voir également la [superposition d'entrées multiples dans la grille 2x2] (https://ffmpeg.org/trac/ffmpeg/wiki/FilteringGuide#multipleinputoverlayin2x2grid) sur le [Wiki de la documentation de la communauté FFmpeg] (https://ffmpeg.org/trac/ffmpeg/wiki). – LordNeckbeard

Questions connexes