官术网_书友最值得收藏!

2.1.4 其他

除了上面介紹的幾點外,要實現一個功能強大、性能優越、應用廣泛的音視頻直播客戶端還有很多工作要做。通常讀者比較關心以下問題:

·音視頻不同步。音視頻數據經網絡傳輸后,由于網絡抖動和延遲等問題,很可能造成音視頻不同步。對此,可在音視頻直播客戶端增加音視頻同步模塊以保障音視頻的同步。

·回音。指的是與其他人進行實時互動時可以聽到自己的回聲。在實時音視頻通信中,不光有回音問題,還有噪聲、聲音過小等問題,我們將它們統稱為3A 3A是指:Acoustic Echo Cancelling(AEC),即回音消除;Automatic Gain Control(AGC),即自動增益;Active Noise Control(ANC,也稱為Noise Cancellation、Noise Suppression),即降噪。問題。這些問題都是非常棘手的。目前開源的項目中,只有WebRTC和Speex有開源的回音消除算法,而且WebRTC的回音消除算法是非常先進的。

·音視頻的實時性。要進行實時通信,網絡質量尤為關鍵。但網絡的物理層是很難保障網絡服務質量的,必須在軟件層加以控制才行。雖然常用的TCP有一套完整的保障網絡質量的方案,但它在實時性方面表現不佳。換句話說,TCP是以犧牲實時性來保障網絡服務質量的,而實時性又是音視頻實時通信的命脈,這就導致TCP不能作為音視頻實時傳輸的最佳選擇了。因此,為了保證實時性,一般情況下實時直播應該首選UDP。但這樣一來,我們就必須自己編寫網絡控制算法以保證網絡質量。

此外,還有網絡擁塞、丟包、延時、抖動、混音等問題。

通過上面的描述,讀者應該清楚要自己研發一套音視頻直播客戶端到底有多難了。

[1] 3A是指:Acoustic Echo Cancelling(AEC),即回音消除;Automatic Gain Control(AGC),即自動增益;Active Noise Control(ANC,也稱為Noise Cancellation、Noise Suppression),即降噪。

主站蜘蛛池模板: 宁强县| 广德县| 合阳县| 夏河县| 界首市| 大姚县| 海原县| 赣榆县| 台中市| 麟游县| 大新县| 洞口县| 慈溪市| 沧州市| 纳雍县| 醴陵市| 永泰县| 八宿县| 沾益县| 兰考县| 阿勒泰市| 慈利县| 治县。| 兴仁县| 阿拉尔市| 天全县| 芜湖市| 县级市| 龙南县| 五河县| 万盛区| 刚察县| 兴安盟| 兴国县| 林州市| 宜良县| 陇西县| 泽普县| 临猗县| 岑巩县| 东海县|