<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Jack Jiang

    我的最新工程MobileIMSDK:http://git.oschina.net/jackjiang/MobileIMSDK
    posts - 494, comments - 13, trackbacks - 0, articles - 1

    1、引言

    微信小程序自2017年1月9日正式對外公布以來,越來越受到關注和重視,小程序上的各種技術體驗也越來越豐富。而音視頻作為高速移動網絡時代下增長最快的應用形式之一,在微信小程序中也當然不能錯過。本文來自騰訊視頻云終端技術總監rexchang(常青)的技術分享,講述的是微信小程序中音視頻技術構思、設計和實現等方方面的內容,希望能為你的音視頻技術實踐帶來啟發。

    如果您能微信小程序開發沒什么了解,可以從這篇微信官方的《小程序開發簡易教程》開始。

    學習交流:

    - 即時通訊開發交流3群:185926912[推薦]

    - 移動端IM開發入門文章:《新手入門一篇就夠:從零開發移動端IM

    (本文同步發布于:http://www.52im.net/thread-1799-1-1.html

    2、關于作者

    rexchang(常青):騰訊視頻云終端技術總監,2008 年畢業加入騰訊,一直從事客戶端研發相關工作,先后參與過 PC QQ、手機QQ、QQ物聯 等產品項目,目前在騰訊視頻云團隊負責音視頻終端解決方案的優化和落地工作。

    3、一次偶然的合作

    ▲ 騰訊云與微信團隊合作達成

    2016年微信開始啟動小程序內測之前,騰訊內部的各個團隊就已經開始接到消息。我們每個人都能預感到小程序將會對移動應用場景產生很大的改變。但在當時,我也是剛加入騰訊視頻云團隊不久,對于這樣的信息更多的是關注,而并無太多細致的思考。

    2017年伊始,隨著大量客戶的咨詢,我以及我所在的騰訊視頻云團隊都開始意識到這里的需求特別的旺盛。但由于精力有限,以“小團隊大成績”著稱的微信工程師團隊很難有精力覆蓋所有的應用場景,在音視頻這里,小程序僅提供了一些基礎的采集和播放能力,比如大家最為熟知的 video 標簽就是采用了系統播放器來實現,所以只能支持 HLS 高延時直播和視頻點播功能。

    而就在此時,騰訊視頻云的 SDK 產品在經過了一年多的打磨優化之后,已經像是二戰初期的零式戰機,隨時準備“砍瓜切菜”。這里和合作機會雖然不定,但我們團隊依然坐上了從深圳總部開往廣州 T.I.T 的班車。

    ▲ 廣州T.I.T創意園,微信總部所在地
    ▲ 記錄了微信重要時刻的藝術墻

    經過多次的溝通,以及 jianx 的努力幫助下,這個合作雖然偶然且充滿了各種不確定,但最終達成。

    幕后:音視頻小程序誕生在2017年4月一輛從深圳開往廣州的C7172列車上

    ▲ 本文作者常青帶著小程序音視頻的方案乘坐動車前往微信事業群

    4、技術的挑戰

    在音視頻應用場景下,兩個團隊能夠達成合作自然是個好事情,但是微信的市場地位也決定了這是一個不容兒戲的戰場。

    所以我們所面臨的挑戰也異常嚴峻:

    1)接口必須簡單易用,最好一兩個標簽就能解決問題;

    2)滿足多種應用場景,既要支持直播又要能夠支持實時視頻通話;

    3)功能必須可擴展,開發者可以根據自身的需要構建出各種個性化應用場景;

    4)可維護性好,開發者能夠自助排查一些技術問題,而不需要本身是個音視頻專家;

    5)安裝包體積增量足夠小,不然微信的安裝包體積控住不住。

    除了高標準的要求以外,時間也是一個非常不利的因素。整個項目留給我們可以證明自身能力的時間只有兩周,在短短兩周的時間里,我們需要在一個 G2C 項目落地且成功通過產品演示和方案驗收。

    5、化繁為簡

    面對這些挑戰,我想到了蘇聯卡拉什尼科夫所設計的名槍  AK-47 :

    說 AK-47 是世界上最成功的單兵武器一點也不為過,這把槍全世界一共生產了約一億支。它具有不俗的殺傷力和極為優秀的可靠性。從不卡殼,不易損壞,不管是沙漠還是雨林,都能穩定地傾瀉火力,并且操作還非常簡單。

    之所以這么成功,源于其所貫徹的簡單實用的設計理念:回轉式閉鎖確保了安全性,杜絕了隨機事故的可能性;結構簡單易拆卸,因此要生產它并不需要特別精密的加工技術,也不需要投資巨大的生產設備,甚至一個普通小作坊就能開工生產。

    沒錯,化繁為簡,追求簡單可靠,這就是我們需要達成的目標。

    達成上述的技術目標并不容易,需要我們團隊一步一步的攻克技術難關。

    6、攻克技術難關之上行和下行

    首先,我們要對騰訊視頻云現有的音視頻體系進行拆解和抽象,也就是把整個體系打散成一個個積木,其中最重要的兩塊就是:音視頻上行(push)和音視頻下行(play)。

    6.1 音視頻上行(PUSH)

    就是把自己手機上的聲音和畫面實時的上傳到云端。我們將這部分能力用視頻云 SDK 進行實現,并封裝成一個叫做 的標簽。

    ▲ 音視頻上行

    SDK 內部實現機制如上圖所示:首先,我們要對攝像頭的畫面進行捕獲,對麥克風的聲音進行采集。但是,原生采集和捕獲的畫面和聲音是需要進行預處理的,直接采集的畫面可能有很多噪點,所以我們要進行圖像降噪;比如, 原生采集的人像里,皮膚可能并不符合人們的預期,所以我們需要進行磨皮和美顏;直接采集的聲音可能也有很多的環境噪音,所以我們需要進行前景和后景音的分離然后進行底噪抑制。

    經過預處理之后的畫面和聲音相比于原始采集的一般會有較大改善,因為所有的預處理都是以“討好”人類的視聽體驗為目的,所以這一看似不起眼的部分會吸引很多公司在其上做不少的技術投入。舉個身邊的例子,以 LCD 平板電視為例,SONY 的 LCD 產品線都沒有自家的液晶面板(以臺灣和大陸液晶面板為主),卻能在總體效果上一直領先其它公司,其背后的秘密就是在圖像處理(基于圖像數據庫做超分辨率顯示)和背光技術(所有動物的眼睛都是對亮度最為敏感)上的不間斷的積累和投入。

    畫面和聲音都經過“粉飾”之后,就可以送給編碼器進行編碼壓縮了。編碼器的工作是將一張張的畫面和一段段的聲音壓縮成 0101001... 的二進制數據,而壓縮后的體積要遠小于壓縮前。最后要做的工作就是將編碼后的數據通過網絡模塊發送出去。在在線直播場景中,一般采用的網絡協議都是基于TCP的,而在實時通話場景中,所采用的網絡協議則是 UDP 為主。

    6.2 音視頻下行(PLAY)

    也叫播放,就是從云端把編碼后的音視頻數據實時下載下來并實時的播放,這樣一來,您就能看到遠程的畫面,聽到遠程的聲音。同樣的,我們將這部分能力用視頻云 SDK 進行實現,并封裝成一個叫做 的標簽。

    ▲ 音視頻下行

    SDK 內部實現機制如上圖所示:來自云端的數據會直接送給網絡模塊,但網絡不是完美的,總會有時快時慢的波動,甚至會有可能發生阻塞和閃斷。如果服務器來一段數據, SDK 就播一段數據,那么網絡稍微一波動,畫面和聲音就會表現出卡頓。我們采用抖動緩沖(VideoJitterBuffer)技術解決這個問題,就像是為網絡過來的數據準備一個小的蓄水池,音視頻數據先在這里暫存一小會兒再送去播放,這樣就可以在網絡不穩定時有一定的“應急”數據可以使用。

    數據經過緩沖以后,就可以送給解碼器進行解碼,解碼就是把壓縮后的音視頻數據還原成圖像和聲音,然后進行渲染和播放。我們采用了 openGL 進行畫面的渲染,使用 iOS 和 Android 的系統接口來播放聲音。

    6.3 信號放大器

    有了這兩個簡單的標簽,我們就可以進行初步的組合,構建出第一個最簡單的應用場景:在線直播。

    ▲ 信號放大器

    在線直播是一個非常經典的單向音視頻場景,您只需要簡單的將兩個標簽組合在一起即可, 負責將本地畫面和聲音實時上傳到騰訊云, 則負責從云端實時拉取音視頻流。

    如果是簡單的一路上行 + 一路下行,那么我們隨便搭建一個中轉服務器就可以解決問題了,但這樣只能在很小的范圍內實現高質量的直播服務,真正要做到高并發和流暢無卡頓,就需要一個強大的視頻云。

    視頻云在這里的作用就像一個**信號放大器**,它負責將來自   的一路音視頻進行放大,擴散到全國各地,讓每一個   都能在離自己比較近的云服務器上拉取到實時且流暢的音視頻流。由于原理簡單、穩定可靠且支持幾百萬同時在線的高并發觀看,所以從在線教育到體育賽事,從游戲直播到花椒映客,都是基于這種技術實現的。

    但在線直播方案只能應用于解決單向音視頻問題,因為它有個明顯的問題,就是延時一般都是在 2秒 - 5秒左右,這是使用 標簽配合騰訊云視頻云可以達到的效果。如果是video標簽,這個延時會更長,可以到 20 秒以上,那么在一些對時延要求很苛刻的場景下就不再適用了。

    7、攻克技術難關之把延遲降低

    在安防監控的場景里,家用 IP 攝像頭一般都帶有云臺旋轉的功能,也就是攝像頭的指向會跟隨遠程的遙控進行轉動,如果畫面延時比較大,那么觀看端按下操控按鈕到看到畫面運動所需要等待的時間就會比較長,這樣用戶體驗就會特別不好。

    ▲ 延遲做到最低

    再比如 2017 非常流行的在線夾娃娃場景,如果遠程玩家視頻畫面的延時非常高,那么遠程操控娃娃機就變得不太可能,沒有誰能真正抓到娃娃。

    既然要達到這么低的要求,普通的在線直播技術就不再適用了,我們需要新引入兩個新的科技點:**延時控制** 和 **UDP加速**。

    延時控制:

    網絡不是完美的,網絡是波動的。在有波動的網絡下,服務器上的音視頻數據并不是穩穩的來到您的手機上,而是忽快忽慢。慢的時候您可能會看到卡頓,快的時候就會產生堆積,而堆積的后果就是延時的增加。所以,我們需要采用延遲控制技術,它的原理很簡單,當網絡慢的時候就播的慢一點,當網絡快的時候就播得快一點,這樣就起到一定的緩沖作用。當然,真正實現時就會發現,聲音是個很不聽話的“孩子”,要處理好聲音的效果是一個非常高難度的技術活。

    UDP加速:

    既然網絡不那么完美,總是時快時慢,那我們是不是可以改善一下呢?在經典的單向音視頻方案中,一般采用的都是 TCP 協議,因為它簡單可靠且兼容性極好。然而 TCP 的擁塞控制特別注重公平,天然就有時快時慢的壞毛病,所以我們需要用 UDP 協議替代之,相比于設計目標定位于可靠傳輸的 TCP 協議,UDP 可以做得更穩且更快。

    我們將 延時控制和 UDP 加速技術加入到 標簽里,可以將端到端的延時控制在 500ms 左右。這對于操作延時要求比較苛刻的場景,就可以滿足需求了。

    8、攻克技術難關之單向變雙向

    有了單向低延時技術,那么雙向視頻通話自然也就比較簡單了,只需要通話的雙方 A 和 B 各自拉通一路低延時鏈路就可以了。

    比如在車險定損的場景里,遇險的車主通過小程序呼叫保險公司,這個時候保險公司內部的定損客服只要通過一路低延時的鏈路就可以看到車子的出險情況。但是僅僅這樣還不夠,視頻內容跟圖片一樣,都容易被實現偽造和作假。所以定損員就需要有一路視頻同樣到達車主那里,這樣兩路音視頻同時連通,就構成了一個典型的視頻通話場景。由于車主和定損員可以通過視頻進行交流,因此造假騙保的風險就被極大地降低了。

    ▲ 單向變雙向

    雖然這樣說是沒錯,但實現上可不是那么簡單的。恰恰相反,它非常困難,因為我們還需要引入額外的很多科技點:

    噪聲消除:噪聲抑制的目的是將用戶所處環境里的背景噪音去除掉,好的噪聲抑制是回音消除的前提,否則聲學模塊無法從采集的聲音辨別出哪些是回聲,哪些是應該被保留的聲音。

    回音抑制:在雙向視頻通話中,用戶自己手機的麥克風會把喇叭里播放的聲音再次記錄下來,如果不將其抹除掉,這些聲音會被反送給對端的用戶,從而形成回聲。

    Qos流控:網絡不可能一直都很完美,尤其是中國大陸地區的上行網速一直都有政策限制。Qos流控的作用就是預測用戶當前的上行網速,并估算出一個適當的數值反饋給編碼器,這樣一來,編碼器要送出的音視頻數據就不會超過當前網絡的傳輸能力,從而減少卡頓的發生。

    丟包恢復:再好的網絡也難免會有丟包的情況,尤其是 WiFi 和 4G 等無線網絡,由于傳輸介質本身就不是可以獨享的,所以一旦受到干擾,或者高速運動都會產生大量的丟包,這時就需要引入一些丟包恢復技術,將失去的數據盡量補救回來。

    以上四個科技點,我們也加入到了 和   標簽中,并給他們賦予了一個新的模式 RTC( Real Time Chatting 的 首字母縮寫,有點 Chenglish 的味道),這才真正把實時音視頻通話搞定。

    你看,要保持功能到位,又不能跳出標簽這種簡單易用的設計風格,這不容易吧。實際上這里的四個科技點實在是太難了,需要很多年的技術積累和沉淀,以至于我們也不是現用現做的。正所謂站在巨人的肩膀上才能看得更遠,這里的技術能力是由騰訊音視頻實驗室的“天籟”引擎所實現的。

    9、攻克技術難關之雙向變多人

    既然雙人視頻通話已經搞定了,是不是多人也就照葫蘆畫瓢就可以了?您看,我們只需要將 A 和 B 之間的 url 置換,變成 A、B、C 甚至更多人之間的 url 置換,不就可以了嗎?

    思路依然正確,但是真正要將功能做到好用且成熟,僅依靠簡單的 url 交換是非常粗糙的。我們需要繼續引入額外的兩個科技點。

    ▲ 雙向變多人

    房間管理:

    以上圖所示的 A B C 之間的多人視頻場景為例,要讓每一個人都很清楚其它人的狀態(比如播放url,以及當前是否有上行等等),這個事情可是非常困難的,搞不好就容易出現各方信息不對齊。對于更復雜一點的情況,比如當有第四個人 D 進來的時候,或者第五個人 E 進來又出去的時候,這種信息同步幾乎就是一場噩夢。

    最好的辦法就是把參會人的狀態和信息都收攏在服務器端,構造一個 **房間** 的概念,這樣就可以確保參會人都能從服務端獲得同樣的信息,而不需要各自去維護。

    通知系統:

    當有新的參與者進入房間,或者有人離開時,就需要對房間里的人進行信息廣播,這就需要一個不錯的 IM 系統負責收發消息。比如當 D 進入時,就可以向房間內的其它成員廣播這個 “I'm coming” 的事件,這樣 A B C 就可以在自己的 UI 上展示 D 的視頻畫面了。

    加入房間管理和 通知系統以后,我們就可以將 和 和微信小程序的 websocket 等基礎能力組合在一起,構建各種功能強大、邏輯復雜的小程序應用。

    10、一路走來

    一路走來,大家可以看到我們在小程序音視頻的技術體系上所做的種種努力可以用如下的技術圖譜勾勒出來。

    ▲ 小程序音視頻的技術體系圖

    總結一下,我們的實現思路就是:

    1)首先是化繁為簡,將所有的音視頻解決方案拆解成兩個基礎行為:上行和下行,并通過兩個標簽 和 的簡單組合,實現最基本的在線直播功能;

    2)之后是通過加速線路和延時控制,將一路音視頻的時延縮短到 500ms 以內;

    3)再之后,我們通過引入噪聲抑制和回聲消除等聲學處理模塊,讓一路變兩路成為了可能,這也就構成一個最簡單的視頻通話能力;

    4)最后,我們又通過加入房間服務和狀態同步通知,將雙路音視頻變成了多路音視頻,從而將應用范圍進一步擴大。

    圖中的 UI 截圖使我們騰訊視頻云小程序Demo的界面截圖,大家通過在微信小程序里搜索“騰訊視頻云”就可以體驗上述基礎功能了。

    如果您希望自己也動手來試一試,不妨看一下我們的技術文檔:

    小程序入門導讀:https://cloud.tencent.com/document/product/454/12517

    標簽使用指引:https://cloud.tencent.com/document/product/454/12518

    標簽使用指引:https://cloud.tencent.com/document/product/454/12519

    雙人或多人音視頻:https://cloud.tencent.com/document/product/454/15364

    直播+連麥:https://cloud.tencent.com/document/product/454/15368

    WebRTC互通:https://cloud.tencent.com/document/product/454/16914

    常見問題:https://cloud.tencent.com/document/product/454/13037

    附錄1:微信、QQ的文章匯總

    [1] QQ、微信團隊原創技術文章:

    微信朋友圈千億訪問量背后的技術挑戰和實踐總結

    騰訊技術分享:騰訊是如何大幅降低帶寬和網絡流量的(圖片壓縮篇)

    騰訊技術分享:騰訊是如何大幅降低帶寬和網絡流量的(音視頻技術篇)

    微信團隊分享:微信移動端的全文檢索多音字問題解決方案

    騰訊技術分享:Android版手機QQ的緩存監控與優化實踐

    微信團隊分享:iOS版微信的高性能通用key-value組件技術實踐

    微信團隊分享:iOS版微信是如何防止特殊字符導致的炸群、APP崩潰的?

    騰訊技術分享:Android手Q的線程死鎖監控系統技術實踐

    微信團隊原創分享:iOS版微信的內存監控系統技術實踐

    讓互聯網更快:新一代QUIC協議在騰訊的技術實踐分享

    iOS后臺喚醒實戰:微信收款到賬語音提醒技術總結

    騰訊技術分享:社交網絡圖片的帶寬壓縮技術演進之路

    微信團隊分享:視頻圖像的超分辨率技術原理和應用場景

    微信團隊分享:微信每日億次實時音視頻聊天背后的技術解密

    QQ音樂團隊分享:Android中的圖片壓縮技術詳解(上篇)

    QQ音樂團隊分享:Android中的圖片壓縮技術詳解(下篇)

    騰訊團隊分享:手機QQ中的人臉識別酷炫動畫效果實現詳解

    騰訊團隊分享 :一次手Q聊天界面中圖片顯示bug的追蹤過程分享

    微信團隊分享:微信Android版小視頻編碼填過的那些坑》 

    微信手機端的本地數據全文檢索優化之路》 

    企業微信客戶端中組織架構數據的同步更新方案優化實戰

    微信團隊披露:微信界面卡死超級bug“15。。。。”的來龍去脈

    QQ 18年:解密8億月活的QQ后臺服務接口隔離技術

    月活8.89億的超級IM微信是如何進行Android端兼容測試的

    以手機QQ為例探討移動端IM中的“輕應用”

    一篇文章get微信開源移動端數據庫組件WCDB的一切!

    微信客戶端團隊負責人技術訪談:如何著手客戶端性能監控和優化

    微信后臺基于時間序的海量數據冷熱分級架構設計實踐

    微信團隊原創分享:Android版微信的臃腫之困與模塊化實踐之路

    微信后臺團隊:微信后臺異步消息隊列的優化升級實踐分享

    微信團隊原創分享:微信客戶端SQLite數據庫損壞修復實踐》 

    騰訊原創分享(一):如何大幅提升移動網絡下手機QQ的圖片傳輸速度和成功率》 

    騰訊原創分享(二):如何大幅壓縮移動網絡下APP的流量消耗(下篇)》 

    騰訊原創分享(三):如何大幅壓縮移動網絡下APP的流量消耗(上篇)》 

    微信Mars:微信內部正在使用的網絡層封裝庫,即將開源》 

    如約而至:微信自用的移動端IM網絡層跨平臺組件庫Mars已正式開源》 

    開源libco庫:單機千萬連接、支撐微信8億用戶的后臺框架基石 [源碼下載]》 

    微信新一代通信安全解決方案:基于TLS1.3的MMTLS詳解》 

    微信團隊原創分享:Android版微信后臺保活實戰分享(進程保活篇)》 

    微信團隊原創分享:Android版微信后臺保活實戰分享(網絡保活篇)》 

    Android版微信從300KB到30MB的技術演進(PPT講稿) [附件下載]》 

    微信團隊原創分享:Android版微信從300KB到30MB的技術演進》 

    微信技術總監談架構:微信之道——大道至簡(演講全文)

    微信技術總監談架構:微信之道——大道至簡(PPT講稿) [附件下載]》 

    如何解讀《微信技術總監談架構:微信之道——大道至簡》

    微信海量用戶背后的后臺系統存儲架構(視頻+PPT) [附件下載]

    微信異步化改造實踐:8億月活、單機千萬連接背后的后臺解決方案》 

    微信朋友圈海量技術之道PPT [附件下載]》 

    微信對網絡影響的技術試驗及分析(論文全文)》 

    一份微信后臺技術架構的總結性筆記》 

    架構之道:3個程序員成就微信朋友圈日均10億發布量[有視頻]》 

    快速裂變:見證微信強大后臺架構從0到1的演進歷程(一)

    快速裂變:見證微信強大后臺架構從0到1的演進歷程(二)》 

    微信團隊原創分享:Android內存泄漏監控和優化技巧總結》 

    全面總結iOS版微信升級iOS9遇到的各種“坑”》 

    微信團隊原創資源混淆工具:讓你的APK立減1M》 

    微信團隊原創Android資源混淆工具:AndResGuard [有源碼]》 

    Android版微信安裝包“減肥”實戰記錄》 

    iOS版微信安裝包“減肥”實戰記錄》 

    移動端IM實踐:iOS版微信界面卡頓監測方案》 

    微信“紅包照片”背后的技術難題》 

    移動端IM實踐:iOS版微信小視頻功能技術方案實錄》 

    移動端IM實踐:Android版微信如何大幅提升交互性能(一)

    移動端IM實踐:Android版微信如何大幅提升交互性能(二)

    移動端IM實踐:實現Android版微信的智能心跳機制》 

    移動端IM實踐:WhatsApp、Line、微信的心跳策略分析》 

    移動端IM實踐:谷歌消息推送服務(GCM)研究(來自微信)

    移動端IM實踐:iOS版微信的多設備字體適配方案探討》 

    信鴿團隊原創:一起走過 iOS10 上消息推送(APNS)的坑

    騰訊信鴿技術分享:百億級實時消息推送的實戰經驗

    IPv6技術詳解:基本概念、應用現狀、技術實踐(上篇)

    IPv6技術詳解:基本概念、應用現狀、技術實踐(下篇)

    騰訊TEG團隊原創:基于MySQL的分布式數據庫TDSQL十年鍛造經驗分享

    微信多媒體團隊訪談:音視頻開發的學習、微信的音視頻技術和挑戰等

    了解iOS消息推送一文就夠:史上最全iOS Push技術詳解

    騰訊技術分享:微信小程序音視頻技術背后的故事

    >> 更多同類文章 ……

    [2] 有關QQ、微信的技術故事:

    技術往事:微信估值已超5千億,雷軍曾有機會收編張小龍及其Foxmail

    QQ和微信兇猛成長的背后:騰訊網絡基礎架構的這些年

    閑話即時通訊:騰訊的成長史本質就是一部QQ成長史

    2017微信數據報告:日活躍用戶達9億、日發消息380億條

    騰訊開發微信花了多少錢?技術難度真這么大?難在哪?

    技術往事:創業初期的騰訊——16年前的冬天,誰動了馬化騰的代碼》 

    技術往事:史上最全QQ圖標變遷過程,追尋IM巨人的演進歷史》 

    技術往事:“QQ群”和“微信紅包”是怎么來的?》 

    開發往事:深度講述2010到2015,微信一路風雨的背后》 

    開發往事:微信千年不變的那張閃屏圖片的由來》 

    開發往事:記錄微信3.0版背后的故事(距微信1.0發布9個月時)》 

    一個微信實習生自述:我眼中的微信開發團隊

    首次揭秘:QQ實時視頻聊天背后的神秘組織

    為什么說即時通訊社交APP創業就是一個坑?

    微信七年回顧:歷經多少質疑和差評,才配擁有今天的強大

    前創始團隊成員分享:盤點微信的前世今生——微信成功的必然和偶然

    即時通訊創業必讀:解密微信的產品定位、創新思維、設計法則等

    >> 更多同類文章 ……

    附錄2:更多音視頻開發資料

    即時通訊音視頻開發(一):視頻編解碼之理論概述

    即時通訊音視頻開發(二):視頻編解碼之數字視頻介紹

    即時通訊音視頻開發(三):視頻編解碼之編碼基礎

    即時通訊音視頻開發(四):視頻編解碼之預測技術介紹

    即時通訊音視頻開發(五):認識主流視頻編碼技術H.264

    即時通訊音視頻開發(六):如何開始音頻編解碼技術的學習

    即時通訊音視頻開發(七):音頻基礎及編碼原理入門

    即時通訊音視頻開發(八):常見的實時語音通訊編碼標準

    即時通訊音視頻開發(九):實時語音通訊的回音及回音消除概述

    即時通訊音視頻開發(十):實時語音通訊的回音消除技術詳解

    即時通訊音視頻開發(十一):實時語音通訊丟包補償技術詳解

    即時通訊音視頻開發(十二):多人實時音視頻聊天架構探討

    即時通訊音視頻開發(十三):實時視頻編碼H.264的特點與優勢

    即時通訊音視頻開發(十四):實時音視頻數據傳輸協議介紹

    即時通訊音視頻開發(十五):聊聊P2P與實時音視頻的應用情況

    即時通訊音視頻開發(十六):移動端實時音視頻開發的幾個建議

    即時通訊音視頻開發(十七):視頻編碼H.264、VP8的前世今生

    實時語音聊天中的音頻處理與編碼壓縮技術簡述

    網易視頻云技術分享:音頻處理與壓縮技術快速入門

    學習RFC3550:RTP/RTCP實時傳輸協議基礎知識

    基于RTMP數據傳輸協議的實時流媒體技術研究(論文全文)

    聲網架構師談實時音視頻云的實現難點(視頻采訪)

    淺談開發實時視頻直播平臺的技術要點

    還在靠“喂喂喂”測試實時語音通話質量?本文教你科學的評測方法!

    實現延遲低于500毫秒的1080P實時音視頻直播的實踐分享

    移動端實時視頻直播技術實踐:如何做到實時秒開、流暢不卡

    如何用最簡單的方法測試你的實時音視頻方案

    技術揭秘:支持百萬級粉絲互動的Facebook實時視頻直播

    簡述實時音視頻聊天中端到端加密(E2EE)的工作原理

    移動端實時音視頻直播技術詳解(一):開篇

    移動端實時音視頻直播技術詳解(二):采集

    移動端實時音視頻直播技術詳解(三):處理

    移動端實時音視頻直播技術詳解(四):編碼和封裝

    移動端實時音視頻直播技術詳解(五):推流和傳輸

    移動端實時音視頻直播技術詳解(六):延遲優化

    理論聯系實際:實現一個簡單地基于HTML5的實時視頻直播

    IM實時音視頻聊天時的回聲消除技術詳解

    淺談實時音視頻直播中直接影響用戶體驗的幾項關鍵技術指標

    如何優化傳輸機制來實現實時音視頻的超低延遲?

    首次披露:快手是如何做到百萬觀眾同場看直播仍能秒開且不卡頓的?

    Android直播入門實踐:動手搭建一套簡單的直播系統

    網易云信實時視頻直播在TCP數據傳輸層的一些優化思路

    實時音視頻聊天技術分享:面向不可靠網絡的抗丟包編解碼器

    P2P技術如何將實時視頻直播帶寬降低75%?

    專訪微信視頻技術負責人:微信實時視頻聊天技術的演進

    騰訊音視頻實驗室:使用AI黑科技實現超低碼率的高清實時視頻聊天

    微信團隊分享:微信每日億次實時音視頻聊天背后的技術解密

    近期大熱的實時直播答題系統的實現思路與技術難點分享

    福利貼:最全實時音視頻開發要用到的開源工程匯總

    七牛云技術分享:使用QUIC協議實現實時視頻直播0卡頓!

    實時音視頻聊天中超低延遲架構的思考與技術實踐

    理解實時音視頻聊天中的延時問題一篇就夠

    實時視頻直播客戶端技術盤點:Native、HTML5、WebRTC、微信小程序

    寫給小白的實時音視頻技術入門提綱

    微信多媒體團隊訪談:音視頻開發的學習、微信的音視頻技術和挑戰等

    騰訊技術分享:微信小程序音視頻技術背后的故事

    >> 更多同類文章 ……

    (本文同步發布于:http://www.52im.net/thread-1799-1-1.html



    作者:Jack Jiang (點擊作者姓名進入Github)
    出處:http://www.52im.net/space-uid-1.html
    交流:歡迎加入即時通訊開發交流群 215891622
    討論:http://www.52im.net/
    Jack Jiang同時是【原創Java Swing外觀工程BeautyEye】【輕量級移動端即時通訊框架MobileIMSDK】的作者,可前往下載交流。
    本博文 歡迎轉載,轉載請注明出處(也可前往 我的52im.net 找到我)。


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    Jack Jiang的 Mail: jb2011@163.com, 聯系QQ: 413980957, 微信: hellojackjiang
    主站蜘蛛池模板: 亚洲欧美成人av在线观看| 最近2019免费中文字幕6| 午夜理伦剧场免费| 亚洲麻豆精品国偷自产在线91| 亚洲免费闲人蜜桃| 久久国产精品免费看| 国产亚洲3p无码一区二区| 一个人看的在线免费视频| 免费大黄网站在线观看| 国产精品亚洲二区在线| 午夜国产羞羞视频免费网站| 亚洲a∨无码一区二区| 国产高清免费在线| 日本精品久久久久久久久免费| 免费人成视网站在线观看不卡| 九九美女网站免费| 亚洲国产日产无码精品| 亚洲精品无码专区久久同性男| 免费视频爱爱太爽了| 亚洲乱码一区二区三区国产精品| AV无码免费永久在线观看| 77777亚洲午夜久久多喷| 免费无码又爽又高潮视频| 亚洲精品无码久久久久A片苍井空| 久久久久久久综合日本亚洲| 久久久久成人精品免费播放动漫| 亚洲AV无码国产剧情| 亚洲区精品久久一区二区三区| 色久悠悠婷婷综合在线亚洲| 国内少妇偷人精品视频免费| 色婷婷亚洲一区二区三区| 亚洲人成人无码网www电影首页 | 国产精品久久久久久亚洲影视| 亚洲av女电影网| 无码中文字幕av免费放| 亚洲日本VA中文字幕久久道具| 亚洲伦另类中文字幕| 久久久久国色AV免费看图片| 男女超爽视频免费播放| 亚洲一级特黄特黄的大片| 777亚洲精品乱码久久久久久|