Elaborazione e streaming di acquisizione video Java HD


Ho un'applicazione che cattura video in diretta da una videocamera HD e lo trasmette a un server di streaming video. Attualmente utilizzo Adobe Flash Media Live Encoder (FMLE) per inviare il flusso video catturato al server.

Il problema è che FMLE non ha il supporto per linux. Sono venuto acroos VLCJ e Xuggler come possibili alternative a FMLE e anche che questi forniscono un migliore controllo sui supporti codificati in modo tale da poter inserire rilevatori di movimento opzionali, filtri ecc. È possibile utilizzare il supporto di acquisizione video supporto di VLCJ e supporto di elaborazione di xuggler per la mia applicazione. Voglio dire, ci sono interfacce comuni in cui posso presentare il flusso catturato da vlcj a Xuggler?

Author: user2156721, 2013-03-11

1 answers

Non esiste una bella interfaccia esistente che colleghi entrambe le librerie (di cui sono a conoscenza), ma potresti essere in grado di convogliare dati grezzi tra i due.

DirectMediaPlayerdi VLCJ ha un callback di rendering che fornisce un hook nei dati dei pixel grezzi (vedere qui per un esempio particolare.) Di solito questo viene utilizzato per la manipolazione diretta dei pixel sul livello Java (come la creazione della scala di grigi del video nell'esempio precedente) ma non c'è un vero motivo per cui non dovresti essere in grado di trasferire i dati a Xuggler Iffer, quindi a sua volta avvolgilo in un'Videopicture (e da lì sei nella terra di Xuggler.)

Non ho mai provato a fare qualcosa di simile da solo, quindi potrebbero esserci alcuni cerchi extra che devi saltare - ma in linea di principio sembra certamente possibile. Il problema principale sarebbe, penso, la velocità se ne hai bisogno in tempo reale; fare tutto questo sulla CPU per video HD non è piccolo chiedere al tuo processore.

 0
Author: Michael Berry, 2015-06-10 13:37:46