2017-07-26 119 views
-1

嗨,我正在使用使用nodejs的Twilio Programmable視頻聊天應用程序。我有一個需要像我需要停止視頻編程如果幀每秒超越7。如何實現這一點,請幫助。Twilio每秒可編程視頻幀數

回答

1

Twilio開發人員傳道這裏。

你可以使用Room的API來做到這一點。 A Room object has a getStats method返回一個承諾,解析爲一個StatsReport對象數組。一個StatsReport對象具有remoteVideoTrackStats屬性,該屬性是遠程視頻數據的數組,每個屬性都是RemoteVideoTrackStats object,該屬性具有frameRate屬性。

所以,用你的房間,你可以撥打:

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

然後,您可以在一個合理的區間的樣本,這些幀速率和選擇性打開視頻和關閉,因爲你需要。

我自己並沒有親自處理過這件事,但我很確定統計報告是您在這裏需要的。讓我知道這是否有幫助。

+0

嗨,我能夠得到您所建議的幀率。但是,我想限制幀速率爲10.我使用下面的設置來做到這一點。 var connectOptions = { name:roomName, video:{width:450,framerate:10} }; (roomJoined,function(error){ log('Could not connect to Twilio:'+ error.message); }); 事實上,幀速率設置爲10.在通話時,我每秒獲得將近15至20幀速率。 請幫助我如何限制幀率。 – Siva

+0

[關於約束的MDN文章顯示,您需要使用camel case for frameRate](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia#Frame_rate)。 – philnash

+0

謝謝,你的幫助救了我很多。我需要在下面的API中傳遞日期過濾器(StartDate&EndDate)。請幫忙。 client.taskrouter.v1 .workspaces(workspaceSid) .workers 。統計() .fetch() 。然後((responseData)=> { 的console.log(responseData.cumulative.reservations_accepted); }); – Siva