2014-06-15 89 views
6

此問題不詢問resolutions和幀率getUserMedia()更改質量網站RTC

這是關於如何在使用getUSerMedia()時減少/提高視頻中的一幀的質量

這裏使用getUserMedia()的Demo

如何更改視頻的質量? //Please Fiddle answer.

代碼:

var video_constraints = {mandatory: { 
     maxWidth: 320, 
     maxHeight: 240, 
     maxAspectRatio:4/3, 
     maxFrameRate:1 
     }, 
     optional: [ ] 
}; 

var constraints = {audio: true, video: video_constraints }; 
navigator.getUserMedia(constraints, successCallback, errorCallback); 
+0

你說的是什麼品質?發送質量?本地視頻播放的質量?如果不是分辨率或幀速率,你想要什麼? –

回答

2

如果沒有分辨率或幀速率,我假設你要麼談論比特率或相機設置(白平衡,曝光,對比度等)。

getUserMedia提供的視頻流應該以相機硬件提供的最高質量提供未壓縮的視頻。無法調整相機設置;它們是完全自動的,由相機驅動程序和/或操作系統控制。如果要調整圖像,可以使用2d或webgl上下文使用畫布處理圖像。有multiplelibraries可用於幫助你。

至於比特率,這隻會在通過對等連接傳輸視頻時成爲問題。這也是自適應和自動完成的。

無論提供的媒體流的質量和大小的,網絡堆棧實現其自己的流量控制和擁塞控制算法:每個連接開始通過在低比特率(< 500 Kbps)的音頻和視頻流並且然後開始調整流的質量以匹配可用帶寬。

來源:High Performance Browser Networking

+3

您可以通過向SDP添加一個比特率屬性,然後將其設置爲本地並將其發送給遠程方,從而爲比特率設置Webrtc連接的上限。 –

+0

@MoathHowari視頻質量究竟是什麼意思? – brianchirls

+0

@brianchirls視頻質量意味着視頻質量 究竟是什麼意思? – Muath