2017-05-10 2 views
1

Salut quelqu'un pourrait m'expliquer s'il vous plaît comment réaliser un lipsync entre deux flux RTP (de la même session RTSP). J'essaye de calculer les pts appropriés pour AVPacket de ffmpeg mais il me manque quelque chose et je ne peux pas obtenir ma tête autour de ceci. J'ai les données disponibles à me suivantes:
u64RTCP_NTP_TS - horodatage NTP du RTCP Sender Report
u32RTCP_TS - Horodatage du rapport de l'expéditeur RTCP
u32AudioRTP_TS - Horodatage du paquet RTP Audio
u32VideoRTP_TS - Horodatage du paquet RTP vidéosynchronisation RTP lipsync

J'ai cherché une réponse mais je n'arrive toujours pas à obtenir une image claire de la façon dont cela devrait être réalisé n-sage, qu'est-ce qui me manque encore?

Répondre

0

Ok j'ai trouvé la réponse en naviguant sur le code du Live555 de sorte que les crédits devraient y aller, et un grand merci à eux pour cela. La réponse se trouve dans le fichier RTPSource.cppRTPReceptionStats::noteIncomingPacket et RTPReceptionStats::noteIncomingSR

Il est assez simple d'obtenir l'idée, une chose est à noter que après le calcul de l'horodatage en cours est défini comme l'horodatage de synchronisation, et peut également être remplacé par RTCP SR rapport (et bien il devrait). En conséquence, l'horodatage de présentation de tout flux dans la session RTSP doit avoir plus ou moins le même temps.