4

J'ai une application qui capture la vidéo en direct à partir d'une caméra HD et la transmet à un serveur de streaming vidéo. J'utilise actuellement Adobe Flash Media Live Encoder (FMLE) pour envoyer le flux vidéo capturé au serveur.Java HD Video Capture traitement et streaming

Le problème est que FMLE ne supporte pas linux. Je suis venu acroos VLCJ et Xuggler comme des alternatives possibles à FMLE et aussi que ceux-ci fournissent un meilleur contrôle sur les médias encodés tels que nous pouvons mettre dans les détecteurs de mouvement facultatifs, filtres etc. Est-il possible d'utiliser le support de capture vidéo de VLCJ et le traitement support de xuggler pour mon application. Je veux dire qu'il existe des interfaces communes dans lesquelles je peux présenter le flux capturé de vlcj à Xuggler?

Répondre

0

Il n'existe pas d'interface sympa reliant les deux bibliothèques (à ma connaissance), mais vous pourrez peut-être acheminer des données brutes entre les deux.

VLCJ de DirectMediaPlayer a un rendu rappel qui fournit un crochet dans les données de pixels bruts (voir here pour un exemple particulier.) Habituellement, cela est utilisé pour manipuler les pixels directement sur la couche Java (comme rendant le niveau de gris vidéo dans ce qui précède exemple) mais il n'y a aucune raison pour laquelle vous ne devriez pas pouvoir canaliser les données vers IBuffer de Xuggler, puis à son tour envelopper dans un IVideoPicture (et à partir de là vous êtes dans Xuggler land.)

Je n'ai jamais J'ai essayé de faire quelque chose comme ça moi-même, donc il y a peut-être quelques cerceaux supplémentaires que vous devez sauter - mais en principe cela semble certainement possible. La principale question serait, je pense être la vitesse si vous en avez besoin en temps réel; faire tout cela sur le CPU pour la vidéo HD n'est pas une petite demande de votre processeur.