2017-07-26 11 views
-1

Hallo Ich arbeite mit Twilio Programmable Video Chat-Anwendung mit nodejs. Ich habe eine Anforderung, wie ich das Video programmatisch deaktivieren muss, wenn Rahmen pro Sekunde 7 überschreitet. Wie man das erreicht, helfen Sie bitte.Twilio Programmierbare Videoframes pro Sekunde

Antwort

1

Twilio Entwickler Evangelist hier.

Sie können dies mit der Room API. A Room object has a getStats method, die eine Zusage zurückgibt, die in ein Array von StatsReport Objekten aufgelöst wird. Ein StatsReport Objekt hat eine remoteVideoTrackStats Eigenschaft, die ein Array der Remote-Videos Statistiken ist, von denen jede eine RemoteVideoTrackStats object ist, die eine frameRate Eigenschaft hat.

Also, mit Ihrem Zimmer können Sie anrufen:

room.getStats().then((statsReports) => { 
    statsReports.forEach((statsReport) => { 
    statsReport.remoteVideoTrackStats.forEach((videoTrackStats) => { 
     console.log(videoTrackStats.frameRate); 
    }); 
    }); 
}); 

Anschließend können Sie diese Frameraten zu einem angemessenen Intervall abtasten und schalten selektiv die Videos auf und ab, wie Sie benötigen.

Ich habe nicht persönlich mit mir gearbeitet, aber ich bin mir ziemlich sicher, dass die Statistiken Berichte sind, was Sie hier brauchen. Lassen Sie mich wissen, ob das überhaupt hilft.

+0

Hallo, ich konnte die Framerate wie Sie vorgeschlagen bekommen. Allerdings möchte ich die Framerate auf 10 beschränken. Ich habe unten Einstellung verwendet, um das zu tun. var connectOptions = { Name: roomName, Video: {Breite: 450, Framerate: 10} }; Video.connect (data.token, connectOptions) .dann (roomJoined, Funktion (Fehler) { Protokoll ('Verbindung zu Twilio konnte nicht hergestellt werden:' + error.message); }); Eventhouch, Framerate auf 10 eingestellt. Während des Anrufs bekomme ich fast 15 bis 20 Bildrate pro Sekunde. Bitte helfen Sie mir, die Framerate zu beschränken. – Siva

+0

Der [MDN-Artikel zu Einschränkungen zeigt, dass Sie camel case für 'frameRate' verwenden müssen (https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia#Frame_rate). – philnash

+0

Vielen Dank, Ihre Hilfe hat mich sehr gerettet. Ich muss Datumsfilter (StartDate & EndDate) in der folgenden API übergeben. Bitte helfen Sie. client.taskrouter.v1 .workspaces (workspaceSid) .workers .statistics() .fetch() .then ((Response) => { console.log (responseData.cumulative.reservations_accepted); }); – Siva