Ich entwickle eine Video-Chat-Anwendung mit Twilio. Ich möchte die Bitrate eines Videostreams überprüfen, der im Browser spielt, um zu untersuchen, wie die Bitrate bei verschiedenen Bandbreiten beeinflusst wird. Wie kann ich das machen?Ist es möglich, die Bitrate eines Twilio-Videos zu überprüfen?
Antwort
Twilio Entwickler Evangelist hier.
Sie können verschiedene Daten über die eingehenden und ausgehenden Datenströme mit der WebRTC getStats
API messen. Es gibt eine wirklich good article that walks through the available stats, die Sie lesen sollten, um es zu verstehen. Ich würde versuchen, hier mehr darüber zu schreiben, aber das Lesen der Spezifikation und das Auschecken dieses Artikels wird genauer und nützlicher für Sie sein.
Hoffe, das hilft.
Viele Videos haben tatsächlich eine variable Bitrate, so dass Sie entweder einen Durchschnitt erhalten, indem Sie einfach die Dateigröße durch die Zeit teilen, oder alternativ ein Tool wie VLC Player verwenden, das Ihnen die Bitrate im Laufe der Zeit anzeigt ein Mac zeigt es die Zahlen aber ich glaube, unter Windows eine Grafik zeigt):
Wenn Sie mehr Interesse an der Download-Bandbreite selbst sind, können Sie Entwicklertools in Chrome verwenden, um die Bitrate zu sehen.
Wenn Sie Entwickler-Tools öffnen und auf die Registerkarte Netzwerk gehen, sollten Sie eine Wasserfallspalte sehen.
Bewegen Sie den Mauszeiger über die Zeitleiste in einer Reihe, die Ihrem Video-Download entspricht, und Sie können alle Details zur Anfrage und Antwort einschließlich der Zeit sehen. Die Zeit kombiniert mit der Größe, die auch in der Reihe ist, zeigt Ihnen die tatsächlich erreichte Download-Bitrate. Hier
ist ein Beispiel für ein YouTube-Video:
- 1. Ist es möglich, den Code eines Vektordesigns zu überprüfen?
- 2. Ist es möglich, die Transaktionalität eines Prozesses zu testen?
- 3. Ist es möglich, die Ansicht eines Fragments
- 4. Ist es möglich zu überprüfen, ob ein Gerät jailbroken ist?
- 5. Ist es möglich, eine Textdatei zu lesen und zu überprüfen?
- 6. Ist es möglich, für die Basis eines Generik zu testen?
- 7. Ist es möglich, die Eigenschaft eines Elements zu setzen?
- 8. Ist es möglich, die Farbkomponente eines Stils zu ändern?
- 9. Ist es möglich, die Hintergrundfarbe eines CMFCEditBrowseCtrl-Steuerelements zu ändern?
- 10. Ist es möglich, die Versprechen innerhalb eines Versprechens zu vereinfachen?
- 11. ist es möglich, die Ausführung eines bestimmten Befehls zu vermeiden?
- 12. Ist es möglich, die Ausrichtung eines UISearchBar-Platzhalters zu ändern?
- 13. ist es möglich zu überprüfen, Websites in einem anderen Tab eines Browsers in PHP geöffnet ist?
- 14. Ist es möglich PHP-Syntax von PHP zu überprüfen?
- 15. Ist es möglich, zu überprüfen, ob getan Taste
- 16. Ist es möglich zu überprüfen, ob eine SQLite-Tabelle existiert?
- 17. Ist es möglich, mit OCMock intra-Klasse Verhalten zu überprüfen
- 18. Was ist nominale Bitrate?
- 19. Mit requirjs ist es möglich, zu überprüfen, ob ein Modul definiert ist, ohne es zu laden?
- 20. Ist es möglich, die Kontextwechselzeit zu reduzieren
- 21. Ist es möglich, die Zeichencodierung zu "schnüffeln"?
- 22. Ist es möglich, verschachtelte Befehlsplatting zu verwenden
- 23. Ist es möglich, die Hintergrundfarbe eines schreibgeschützten Bearbeitungssteuerelements
- 24. Android: Ist es möglich, die Datei zu überprüfen, ist eine apk-Datei, wenn keine Erweiterung geliefert
- 25. Ist es möglich, die Entfernung zwischen zwei Routern zu finden?
- 26. Ist es möglich, die Speicherbelegung des Heapspeichers nach Pool zu überprüfen?
- 27. Ist es möglich, Codacy zu erhalten, um die Verwendung importierter Module zu überprüfen?
- 28. Ist es möglich, die Farbe eines Features in KML zu ändern, wenn die Beschreibung geöffnet ist?
- 29. Ist es möglich, die Indexnutzung in Sybase dynamisch zu erzwingen?
- 30. Ist es möglich, rails image_tag innerhalb eines Modells zu verwenden?
Um getStats api zu verwenden, brauche ich nicht Zugriff auf das 'RTCPeerConnection' Objekt? Ich lese in einer Ihrer alten [Antworten] (https://stackoverflow.com/questions/45027499/getting-rtcpeerconnection-object-of-participants-in-twilio-video-api), dass die RTCPeerConnection ist nicht zugänglich mit 'Twiliio "Video". Wie kann ich Informationen über die tatsächliche Bandbreite der Video- und Audiostreams in der Produktion erhalten? Die TrackStats aus der Funktion 'room.getStats' haben diese Information nicht. – lightbringer
Welche Informationen fehlen Ihnen? Die Trackstatistiken enthalten Dinge wie "bytesSent" und "packetsSent" auf dem ['LocalTrackStats'] (https://media.twiliocdn.com/sdk/js/video/releases/1.7.0/docs/LocalTrackStats.html) und das gleiche für empfangen auf ['RemoteTrackStats'] (https://media.twiliocdn.com/sdk/js/video/releases/1.7.0/docs/RemoteTrackStats.html). – philnash