Jouer RTP flux vidéo à l'aide de Qt?
Je veux créer un widget Qt qui peut jouer en entrant les flux RTP où la vidéo est encodé en H264 et ne contient pas de données audio.
Mon plan de base pour la mise en œuvre est: est-ce
- Créer un Phonon MediaSource objet (type de Flux).
- Connecter avec un QIODevice sous-classe qui fournit les données
- Obtenir les données de la vidéo en utilisant soit:
Mon environnement:
- Ubuntu 9.10
- Qt 4.6
Mes questions:
- Est mon approche une bonne? Je suis peut-être donnant sur un plus évident ou simple solution?
- Je suis actuellement confronté à ce problème: lorsque vous essayez de jouer le flux vidéo de l'état de l'MediaObject se tourne vers ErrorState avec errorType FatalError. Quelqu'un peut me dire ce que je fais mal?
Modifier
Une solution que j'ai trouvé est à l'aide de libVLC en combinaison avec Qt, j'ai appris dans ce fil. Voici un exemple de code pour les intéressés.
Je suis toujours à la recherche d'un Phonon à base de solution.
Idéalement j'aurais seulement besoin de fournir un fichier SDP et le travail est fait.
OriginalL'auteur StackedCrooked | 2009-12-05
Vous devez vous connecter pour publier un commentaire.
J'ai été en mesure de le faire fonctionner à l'aide de la libVLC solution. Je ne peux pas garantuee que c'est la meilleur solution mais, comme j'ai tout simplement arrêté de regarder après.
Voici un lien vers la libVLC échantillon.
Merci de me laisser savoir. Correction de l'url.
de toute façon à obtenir un flux à partir d'une caméra IP à l'aide de fichiers?
OriginalL'auteur StackedCrooked
La façon dont je le comprends Phonon travaille au moins dans Windows, c'est que QT fournit un phonon backend plugin pour DirectShow (\plugins\phonon_backend\phonon_ds94.dll) et GStreamer dans votre cas. Ensuite, vous obtenir ou écrire votre propre filtre DirectShow qui peut accepter les flux RTP comme une source. DirectShow prend en charge le décodage, et Phonon prendra soin du rendu.
Donc, si le backend de travaux, le code de l'application est aussi simple que:
Semble que le problème vient de la GStreamer backend accepter RTP comme une source. Pouvez-vous la lecture de la source autonome GStreamer sans aucun problème?
OriginalL'auteur Vicken Simonian