2017-08-14 5 views
0

Je suis actuellement en train de construire une application WebRTC et je veux rassembler quelques statistiques afin d'évaluer ma solution. Une métrique qui m'intéresse est la bande passante actuelle du flux audio (et vidéo) reçu. J'ai été en mesure de trouver le codec actuellement utilisé à chrome://webrtc-internals/ (OPUS), mais je n'ai pas pu trouver de chiffres sur la qualité/bande passante actuelle du flux (par exemple 128kbit/s).Quelle est la bande passante ou la qualité actuelle d'un MediaStream audio dans un navigateur? (WebRTC)

J'ai déjà recherché l'objet RTCPeerConnection pour ces nombres, mais je n'en ai pas trouvé. XXX.RTCconnection.getRemoteStreams()[0].getAudioTracks()[0].getConstraints() retourne seulement

{ 
    deviceId: {}, 
    echoCancellation: {}, 
    facingMode: {}, 
    frameRate: {}, 
    height: {}, 
    mediaSource: "camera", 
    mozAutoGainControl: {}, 
    mozNoiseSuppression: {}, 
    viewportHeight: {}, 
    viewportOffsetX: {}, 
    ... 
} 

qui ne contient que des informations sur un flux vidéo (j'ai demandé plaisamment un flux audio) et aucun détail de bande passante. Il n'y a pas d'autres flux pour les tableaux dans l'exemple ci-dessus. Savez-vous où je dois rechercher la qualité/bande passante actuelle d'un MediaStream?

Répondre

2

Vous devez utiliser l'API RTCPeerConnection.getStats(), recherchez bytesReceived puis calculez le débit comme la différence de bytesReceived entre deux appels. This montre un exemple complet.

+0

Merci beaucoup! Je pensais que c'était plus visible, mais la solution est assez juste. – Roy