2016-09-30 2 views
0

Je suis impliqué dans la construction d'un analyseur de protocole de messagerie en temps réel.Je collecte les données vidéo/audio à partir des paquets RTMP.Maintenant de lire une vidéo dans n'importe quel lecteur, j'ai besoin de savoir le format du conteneur ainsi que le codec utilisé.Dans les données vidéo que je reçois des paquets RTMP, je connais le codec utilisé (par exemple, On2 VP6) .Mais je ne sais pas comment connaître le conteneur de l'audio/vidéo ruisseau que je reçois. Alors devrais-je supposer que RTMP ne supporte que le conteneur FLV ??? Ou est-il possible pour moi d'obtenir des paquets audio/vidéo à partir de n'importe quel autre format de conteneur? Si oui, comment connaître le type de conteneur utilisé à partir des données RTMP à partir des informations contenues dans le paquet RTMP? La spécification Adobe pour RTMP ne fournit aucune information concernant le conteneur des données audio/vidéo. Toute aide à ce sujet ??? Je suis coincé ici depuis pas mal de temps.Tous les conteneurs possibles pour un flux de protocole de messagerie temps réel

Répondre

0

C'est une mauvaise question. RTMP est un protocole de transport qui inclut des conteneurs à l'intérieur.

Techniquement, il n'est pas correct de dire que RTMP porte FLV, car FLV a deux couches d'incapsulation et RTMP ne porte que le niveau inférieur. Donc, il est juste de dire que RTMP peut transférer seulement les codecs que FLV peut et il n'est pas 100% juste de dire que RTMP transfère FLV.

La spécification de RTMP d'Adobe a été créée non pas pour les développeurs, mais pour un problème juridique contre Wowza, il n'est donc pas écrit pour vous de comprendre ce qui se passe. Lire les sources de red5, crtmp ou un autre serveur rtmp, ils sont plutôt faciles à comprendre.