Comment fragment H264 Paquets RTP compatible avec RFC3984

J'ai le FFMPEG streaming de référence de la vidéo h264, ce qui je dois l'encapsuler dans RTP et de l'envoyer à SIP téléphones pour leur décodage. Je suis à l'aide de Linphone avec le h264 plugin pour Windows et Mirial pour le décodage des progrès. Cependant, j'ai parfois l'énorme taille de l'image (3 ko ~ 9 ko) de l'FFMPEG, qui, évidemment, ne rentre pas dans la MTU.

Si j'envoie ces images "comme" de confiance et de IP fragmentation, certains téléphones sont capables de jouer assez bien, mais d'autres s'étouffer et ne peut pas décoder le flux de données. Je pense que c'est parce que le stream n'est pas conforme à la RFC 3984 qui spécifie que les paquets qui ne rentrent pas dans le MTU être séparé en différentes NALUs et marque la fin d'un bloc avec la Marque caractéristique de la RTP.

Comment puis-je savoir où je peut "couper" le I ou P? J'ai remarqué que la fragmentation h264 paquets (sans la Marque de l'étiquette) se terminent parfois dans 0xF8, mais ne pouvait pas tout à fait obtenir un modèle et dans la RFC 3984 qui explique comment envoyer ces paquets sur RTP ne précise pas comment le faire.

Mise à JOUR: Est-ce que quelqu'un sait comment raconter l'X264 bibliothèque comment générer NALUs d'une Taille Max? de cette façon, je devrais être capable d'éviter ce problème. Merci à tous

OriginalL'auteur Pierluigi Cifani | 2011-04-01