Jack Jiang

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

          本文引用自公眾號(hào)“開(kāi)發(fā)的貓”,本次收錄時(shí)有改動(dòng),感謝原作者“開(kāi)發(fā)的貓”的分享。

          1、引言

          隨著移動(dòng)網(wǎng)絡(luò)速度越來(lái)越快、質(zhì)量越來(lái)越來(lái),實(shí)時(shí)音視頻技術(shù)已經(jīng)在各種應(yīng)用場(chǎng)景下全面開(kāi)花,語(yǔ)音通話、視頻通話、視頻會(huì)議、遠(yuǎn)程白板、遠(yuǎn)程監(jiān)控等等。

          實(shí)時(shí)音視頻技術(shù)的開(kāi)發(fā)也越來(lái)越受到重視,但是由于音視頻開(kāi)發(fā)涉及知識(shí)面比較廣,入門門檻相對(duì)較高,讓許許多多開(kāi)發(fā)者望而生畏。

          雖然網(wǎng)上有很多的博文總結(jié)了實(shí)時(shí)音視頻技術(shù)的學(xué)習(xí)路線,但是相關(guān)的知識(shí)都相對(duì)獨(dú)立,有講“音視頻解碼相關(guān)”的、有講“OpenGL相關(guān)”的、也有講“FFmpeg相關(guān)的”、還有講“RTP/RTCP、RTMP、HLS、QUIC等通信相關(guān)的”,但是對(duì)于新手來(lái)說(shuō),把所有的知識(shí)銜接串聯(lián)起來(lái),并很好的理解所有的知識(shí),卻是非常困難的。

          本人在學(xué)習(xí)音視頻開(kāi)發(fā)的過(guò)程中,深刻體會(huì)到了由于知識(shí)的分散、過(guò)渡斷層帶來(lái)的種種困惑和痛苦,因此希望通過(guò)自己的理解,可以把音視頻開(kāi)發(fā)相關(guān)的知識(shí)總結(jié)出來(lái),并形成系列文章,循序漸進(jìn),剖析各個(gè)環(huán)節(jié),一則對(duì)自己所學(xué)做一個(gè)總結(jié)和鞏固,二則希望可以幫助想入門音視頻開(kāi)發(fā)的開(kāi)發(fā)者小伙伴們。

          本文是作者自已根據(jù)入門實(shí)時(shí)音視頻的親身經(jīng)歷,對(duì)于基礎(chǔ)知識(shí)點(diǎn)的認(rèn)知總結(jié)。雖然很淺顯,但相對(duì)小白來(lái)說(shuō),能稍微系統(tǒng)的了解這些概念就已經(jīng)是很好的起點(diǎn)了。

          學(xué)習(xí)交流:

          - 即時(shí)通訊/推送技術(shù)開(kāi)發(fā)交流5群:215477170[推薦]

          - 移動(dòng)端IM開(kāi)發(fā)入門文章:《新手入門一篇就夠:從零開(kāi)發(fā)移動(dòng)端IM

          本文已同步發(fā)布于“即時(shí)通訊技術(shù)圈”公眾號(hào),歡迎關(guān)注:

          ▲ 本文在公眾號(hào)上的鏈接是:https://mp.weixin.qq.com/s/DsoEYydjmoWiEruZYQKCgQ,原文鏈接是:http://www.52im.net/thread-3079-1-1.html

          2、相關(guān)文章

          即時(shí)通訊音視頻開(kāi)發(fā)(一):視頻編解碼之理論概述

          即時(shí)通訊音視頻開(kāi)發(fā)(六):如何開(kāi)始音頻編解碼技術(shù)的學(xué)習(xí)

          即時(shí)通訊音視頻開(kāi)發(fā)(七):音頻基礎(chǔ)及編碼原理入門

          即時(shí)通訊音視頻開(kāi)發(fā)(十四):實(shí)時(shí)音視頻數(shù)據(jù)傳輸協(xié)議介紹

          即時(shí)通訊音視頻開(kāi)發(fā)(十九):零基礎(chǔ),史上最通俗視頻編碼技術(shù)入門》(* 必讀

          實(shí)時(shí)語(yǔ)音聊天中的音頻處理與編碼壓縮技術(shù)簡(jiǎn)述

          移動(dòng)端實(shí)時(shí)音視頻直播技術(shù)詳解(一):開(kāi)篇

          移動(dòng)端實(shí)時(shí)音視頻直播技術(shù)詳解(二):采集

          移動(dòng)端實(shí)時(shí)音視頻直播技術(shù)詳解(三):處理

          移動(dòng)端實(shí)時(shí)音視頻直播技術(shù)詳解(四):編碼和封裝

          移動(dòng)端實(shí)時(shí)音視頻直播技術(shù)詳解(五):推流和傳輸

          移動(dòng)端實(shí)時(shí)音視頻直播技術(shù)詳解(六):延遲優(yōu)化

          福利貼:最全實(shí)時(shí)音視頻開(kāi)發(fā)要用到的開(kāi)源工程匯總》(* 必讀

          寫給小白的實(shí)時(shí)音視頻技術(shù)入門提綱》(* 必讀

          愛(ài)奇藝技術(shù)分享:輕松詼諧,講解視頻編解碼技術(shù)的過(guò)去、現(xiàn)在和將來(lái)

          3、視頻是什么?

          3.1 動(dòng)畫書

          不知道大家小時(shí)候是否玩過(guò)一種動(dòng)畫小人書,連續(xù)翻動(dòng)的時(shí)候,小人書的畫面就會(huì)變成一個(gè)動(dòng)畫,類似現(xiàn)在的gif格式圖片。 

          本來(lái)是一本靜態(tài)的小人書,通過(guò)翻動(dòng)以后,就會(huì)變成一個(gè)有趣的小動(dòng)畫,如果畫面夠多,翻動(dòng)速度夠快的話,這其實(shí)就是一個(gè)小視頻。

          而視頻的原理正是如此,由于人類眼睛的特殊結(jié)構(gòu),畫面快速切換時(shí),畫面會(huì)有殘留,感覺(jué)起來(lái)就是連貫的動(dòng)作。所以,視頻就是由一系列圖片構(gòu)成的。

          3.2 視頻幀

          幀,是視頻的一個(gè)基本概念,表示一張畫面,如上面的翻頁(yè)動(dòng)畫書中的一頁(yè),就是一幀。一個(gè)視頻就是由許許多多幀組成的。

          3.3 幀率

          幀率,即單位時(shí)間內(nèi)幀的數(shù)量,單位為:幀/秒 或fps(frames per second)。如動(dòng)畫書中,一秒內(nèi)包含多少?gòu)垐D片,圖片越多,畫面越順滑,過(guò)渡越自然。

          幀率的一般以下幾個(gè)典型值:

          • 1)24/25 fps:1秒 24/25 幀,一般的電影幀率;
          • 2)30/60 fps:1秒 30/60 幀,游戲的幀率,30幀可以接受,60幀會(huì)感覺(jué)更加流暢逼真。

          85 fps以上人眼基本無(wú)法察覺(jué)出來(lái)了,所以更高的幀率在視頻里沒(méi)有太大意義。

          3.4 色彩空間

          這里我們只講常用到的兩種色彩空間。

          • 1)RGB:RGB的顏色模式應(yīng)該是我們最熟悉的一種,在現(xiàn)在的電子設(shè)備中應(yīng)用廣泛。通過(guò)R G B三種基礎(chǔ)色,可以混合出所有的顏色;
          • 2)YUV:這里著重講一下YUV,這種色彩空間并不是我們熟悉的。這是一種亮度與色度分離的色彩格式。

          早期的電視都是黑白的,即只有亮度值,即Y。有了彩色電視以后,加入了UV兩種色度,形成現(xiàn)在的YUV,也叫YCbCr。

          • 1)Y:亮度,就是灰度值。除了表示亮度信號(hào)外,還含有較多的綠色通道量;
          • 2)U:藍(lán)色通道與亮度的差值;
          • 3)V:紅色通道與亮度的差值。

          如下圖,可以看到Y(jié)、V、U 3個(gè)分量的效果差值: 

          采用YUV有什么優(yōu)勢(shì)呢?

          人眼對(duì)亮度敏感,對(duì)色度不敏感,因此減少部分UV的數(shù)據(jù)量,人眼卻無(wú)法感知出來(lái),這樣可以通過(guò)壓縮UV的分辨率,在不影響觀感的前提下,減小視頻的體積。

          RGB和YUV的換算:

          Y = 0.299R + 0.587G + 0.114B

          U = -0.147R - 0.289G + 0.436B

          V = 0.615R - 0.515G - 0.100B

          ——————————————————

          R = Y + 1.14V

          G = Y - 0.39U - 0.58V

          B = Y + 2.03U

          3.5 進(jìn)一步學(xué)習(xí)

          如果你認(rèn)為上面的文字還是有點(diǎn)專業(yè),則強(qiáng)烈建議閱讀下文:《即時(shí)通訊音視頻開(kāi)發(fā)(十九):零基礎(chǔ),史上最通俗視頻編碼技術(shù)入門》,絕對(duì)史上最通俗!

          4、音頻是什么?

          4.1 基本知識(shí)

          音頻數(shù)據(jù)的承載方式最常用的是脈沖編碼調(diào)制,即 PCM

          在自然界中,聲音是連續(xù)不斷的,是一種模擬信號(hào),那怎樣才能把聲音保存下來(lái)呢?那就是把聲音數(shù)字化,即轉(zhuǎn)換為數(shù)字信號(hào)。

          我們知道聲音是一種波,有自己的振幅和頻率,那么要保存聲音,就要保存聲音在各個(gè)時(shí)間點(diǎn)上的振幅。

          而數(shù)字信號(hào)并不能連續(xù)保存所有時(shí)間點(diǎn)的振幅,事實(shí)上,并不需要保存連續(xù)的信號(hào),就可以還原到人耳可接受的聲音。

          根據(jù)奈奎斯特采樣定理:為了不失真地恢復(fù)模擬信號(hào),采樣頻率應(yīng)該不小于模擬信號(hào)頻譜中最高頻率的2倍。

          根據(jù)以上分析,PCM的采集步驟分為以下步驟:

          模擬信號(hào) -> 采樣 -> 量化 -> 編碼 -> 數(shù)字信號(hào)

          4.2 采樣率和采樣位數(shù)

          采樣率,即采樣的頻率。

          上面提到,采樣率要大于原聲波頻率的2倍,人耳能聽(tīng)到的最高頻率為20kHz,所以為了滿足人耳的聽(tīng)覺(jué)要求,采樣率至少為40kHz,通常為44.1kHz,更高的通常為48kHz。

          采樣位數(shù),涉及到上面提到的振幅量化。波形振幅在模擬信號(hào)上也是連續(xù)的樣本值,而在數(shù)字信號(hào)中,信號(hào)一般是不連續(xù)的,所以模擬信號(hào)量化以后,只能取一個(gè)近似的整數(shù)值,為了記錄這些振幅值,采樣器會(huì)采用一個(gè)固定的位數(shù)來(lái)記錄這些振幅值,通常有8位、16位、32位。

          位數(shù)越多,記錄的值越準(zhǔn)確,還原度越高。

          4.3 編碼

          最后就是編碼了。由于數(shù)字信號(hào)是由0,1組成的,因此,需要將幅度值轉(zhuǎn)換為一系列0和1進(jìn)行存儲(chǔ),也就是編碼,最后得到的數(shù)據(jù)就是數(shù)字信號(hào):一串0和1組成的數(shù)據(jù)。

          整個(gè)過(guò)程如下: 

          4.4 聲道數(shù)

          聲道數(shù),是指支持能不同發(fā)聲(注意是不同聲音)的音響的個(gè)數(shù)。

          單聲道:1個(gè)聲道

          雙聲道:2個(gè)聲道

          立體聲道:默認(rèn)為2個(gè)聲道

          立體聲道(4聲道):4個(gè)聲道

          4.5 碼率

          碼率,是指一個(gè)數(shù)據(jù)流中每秒鐘能通過(guò)的信息量,單位bps(bit per second)。

          碼率 = 采樣率 * 采樣位數(shù) * 聲道數(shù)

          4.6 深入地學(xué)習(xí)

          讀完上面的文字后,如果覺(jué)得不夠深入,可以繼續(xù)系統(tǒng)的學(xué)習(xí)以下資料:

          即時(shí)通訊音視頻開(kāi)發(fā)(六):如何開(kāi)始音頻編解碼技術(shù)的學(xué)習(xí)

          即時(shí)通訊音視頻開(kāi)發(fā)(七):音頻基礎(chǔ)及編碼原理入門

          即時(shí)通訊音視頻開(kāi)發(fā)(八):常見(jiàn)的實(shí)時(shí)語(yǔ)音通訊編碼標(biāo)準(zhǔn)

          即時(shí)通訊音視頻開(kāi)發(fā)(九):實(shí)時(shí)語(yǔ)音通訊的回音及回音消除概述

          即時(shí)通訊音視頻開(kāi)發(fā)(十):實(shí)時(shí)語(yǔ)音通訊的回音消除技術(shù)詳解

          即時(shí)通訊音視頻開(kāi)發(fā)(十一):實(shí)時(shí)語(yǔ)音通訊丟包補(bǔ)償技術(shù)詳解

          即時(shí)通訊音視頻開(kāi)發(fā)(十八):詳解音頻編解碼的原理、演進(jìn)和應(yīng)用選型

          實(shí)時(shí)語(yǔ)音聊天中的音頻處理與編碼壓縮技術(shù)簡(jiǎn)述

          網(wǎng)易視頻云技術(shù)分享:音頻處理與壓縮技術(shù)快速入門

          如果你認(rèn)為還需要更淺的文章,則強(qiáng)烈建議閱讀下文(絕對(duì)史上最通俗):

          即時(shí)通訊音視頻開(kāi)發(fā)(十九):零基礎(chǔ),史上最通俗視頻編碼技術(shù)入門

          5、為什么要編碼

          這里的編碼和上面音頻中提到的編碼不是同個(gè)概念,而是指壓縮編碼。

          我們知道,在計(jì)算機(jī)的世界中,一切都是0和1組成的,音頻和視頻數(shù)據(jù)也不例外。由于音視頻的數(shù)據(jù)量龐大,如果按照裸流數(shù)據(jù)存儲(chǔ)的話,那將需要耗費(fèi)非常大的存儲(chǔ)空間,也不利于傳送。而音視頻中,其實(shí)包含了大量0和1的重復(fù)數(shù)據(jù),因此可以通過(guò)一定的算法來(lái)壓縮這些0和1的數(shù)據(jù)。

          特別在視頻中,由于畫面是逐漸過(guò)渡的,因此整個(gè)視頻中,包含了大量畫面/像素的重復(fù),這正好提供了非常大的壓縮空間。

          因此,編碼可以大大減小音視頻數(shù)據(jù)的大小,讓音視頻更容易存儲(chǔ)和傳送。

          那么,未經(jīng)編碼的原始音視頻,數(shù)據(jù)量至底有多大?

          以一個(gè)分辨率1920×1280,幀率30的視頻為例:

          共:1920×1280=2,073,600(Pixels 像素),每個(gè)像素點(diǎn)是24bit(前面算過(guò)的哦);

          也就是:每幅圖片2073600×24=49766400 bit,8 bit(位)=1 byte(字節(jié));

          所以:49766400bit=6220800byte≈6.22MB。

          這是一幅1920×1280圖片的原始大小,再乘以幀率30。

          也就是說(shuō):每秒視頻的大小是186.6MB,每分鐘大約是11GB,一部90分鐘的電影,約是1000GB。。。

          以上舉例引用自:《即時(shí)通訊音視頻開(kāi)發(fā)(十九):零基礎(chǔ),史上最通俗視頻編碼技術(shù)入門

          6、視頻編碼

          視頻編碼格式有很多,比如H26x系列和MPEG系列的編碼,這些編碼格式都是為了適應(yīng)時(shí)代發(fā)展而出現(xiàn)的。

          其中,H26x(1/2/3/4/5)系列由ITU(International Telecommunication Union)國(guó)際電傳視訊聯(lián)盟主導(dǎo)

          MPEG(1/2/3/4)系列由MPEG(Moving Picture Experts Group, ISO旗下的組織)主導(dǎo)。

          當(dāng)然,他們也有聯(lián)合制定的編碼標(biāo)準(zhǔn),那就是現(xiàn)在主流的編碼格式H264,當(dāng)然還有下一代更先進(jìn)的壓縮編碼標(biāo)準(zhǔn)H265。

          視頻編碼知識(shí)比較專業(yè),限于篇幅,我就不在此展開(kāi)討論了。

          如果想系統(tǒng)地了解視頻編碼技術(shù),可以讀以下資料:

          即時(shí)通訊音視頻開(kāi)發(fā)(一):視頻編解碼之理論概述

          即時(shí)通訊音視頻開(kāi)發(fā)(二):視頻編解碼之?dāng)?shù)字視頻介紹

          即時(shí)通訊音視頻開(kāi)發(fā)(三):視頻編解碼之編碼基礎(chǔ)

          即時(shí)通訊音視頻開(kāi)發(fā)(四):視頻編解碼之預(yù)測(cè)技術(shù)介紹

          即時(shí)通訊音視頻開(kāi)發(fā)(五):認(rèn)識(shí)主流視頻編碼技術(shù)H.264

          即時(shí)通訊音視頻開(kāi)發(fā)(十二):多人實(shí)時(shí)音視頻聊天架構(gòu)探討

          即時(shí)通訊音視頻開(kāi)發(fā)(十三):實(shí)時(shí)視頻編碼H.264的特點(diǎn)與優(yōu)勢(shì)

          即時(shí)通訊音視頻開(kāi)發(fā)(十四):實(shí)時(shí)音視頻數(shù)據(jù)傳輸協(xié)議介紹

          即時(shí)通訊音視頻開(kāi)發(fā)(十五):聊聊P2P與實(shí)時(shí)音視頻的應(yīng)用情況

          即時(shí)通訊音視頻開(kāi)發(fā)(十六):移動(dòng)端實(shí)時(shí)音視頻開(kāi)發(fā)的幾個(gè)建議

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

          7、音頻編碼

          原始的PCM音頻數(shù)據(jù)也是非常大的數(shù)據(jù)量,因此也需要對(duì)其進(jìn)行壓縮編碼。

          和視頻編碼一樣,音頻也有許多的編碼格式,如:WAV、MP3、WMA、APE、FLAC等等,音樂(lè)發(fā)燒友應(yīng)該對(duì)這些格式非常熟悉,特別是后兩種無(wú)損壓縮格式。

          但是,我們今天的主角不是他們,而是另外一個(gè)叫AAC的壓縮格式。本節(jié)以AAC格式為例,直觀的了解音頻壓縮格式。

          AAC是新一代的音頻有損壓縮技術(shù),一種高壓縮比的音頻壓縮算法。在MP4視頻中的音頻數(shù)據(jù),大多數(shù)時(shí)候都是采用AAC壓縮格式。

          AAC格式主要分為兩種:ADIF、ADTS。

          1)ADIF:Audio Data Interchange Format。音頻數(shù)據(jù)交換格式。這種格式的特征是可以確定的找到這個(gè)音頻數(shù)據(jù)的開(kāi)始,不需進(jìn)行在音頻數(shù)據(jù)流中間開(kāi)始的解碼,即它的解碼必須在明確定義的開(kāi)始處進(jìn)行。這種格式常用在磁盤文件中。

          2)ADTS:Audio Data Transport Stream。音頻數(shù)據(jù)傳輸流。這種格式的特征是它是一個(gè)有同步字的比特流,解碼可以在這個(gè)流中任何位置開(kāi)始。它的特征類似于mp3數(shù)據(jù)流格式。

          ADTS可以在任意幀解碼,它每一幀都有頭信息。ADIF只有一個(gè)統(tǒng)一的頭,所以必須得到所有的數(shù)據(jù)后解碼。且這兩種的header的格式也是不同的,目前一般編碼后的都是ADTS格式的音頻流。

          ADIF數(shù)據(jù)格式:

          header | raw_data

          ADTS 一幀 數(shù)據(jù)格式(中間部分,左右省略號(hào)為前后數(shù)據(jù)幀):

          AAC內(nèi)部結(jié)構(gòu)也不再贅述,如果有興趣,可以參考《AAC 文件解析及解碼流程》。

          如果需要更深入地學(xué)習(xí)音頻編碼知識(shí),可以看看以下資料:

          即時(shí)通訊音視頻開(kāi)發(fā)(六):如何開(kāi)始音頻編解碼技術(shù)的學(xué)習(xí)

          即時(shí)通訊音視頻開(kāi)發(fā)(七):音頻基礎(chǔ)及編碼原理入門

          即時(shí)通訊音視頻開(kāi)發(fā)(八):常見(jiàn)的實(shí)時(shí)語(yǔ)音通訊編碼標(biāo)準(zhǔn)

          即時(shí)通訊音視頻開(kāi)發(fā)(十八):詳解音頻編解碼的原理、演進(jìn)和應(yīng)用選型

          8、音視頻容器

          細(xì)心的讀者可能已經(jīng)發(fā)現(xiàn),前面我們介紹的各種音視頻的編碼格式,沒(méi)有一種是我們平時(shí)使用到的視頻格式,比如:mp4、rmvb、avi、mkv、mov...

          沒(méi)錯(cuò),這些我們熟悉的視頻格式,其實(shí)是包裹了音視頻編碼數(shù)據(jù)的容器,用來(lái)把以特定編碼標(biāo)準(zhǔn)編碼的視頻流和音頻流混在一起,成為一個(gè)文件。

          例如:mp4支持H264、H265等視頻編碼和AAC、MP3等音頻編碼。

          mp4是目前最流行的視頻格式,在移動(dòng)端,一般將視頻封裝為mp4格式。

          對(duì)于音視頻編碼格式和容器之間的關(guān)系,可以詳細(xì)讀《即時(shí)通訊音視頻開(kāi)發(fā)(十九):零基礎(chǔ),史上最通俗視頻編碼技術(shù)入門》一文中的“6、視頻編碼的國(guó)際標(biāo)準(zhǔn)”一節(jié)。

          9、硬解碼和軟解碼

          我們?cè)谝恍┎シ牌髦袝?huì)看到,有硬解碼和軟解碼兩種播放形式給我們選擇,但是我們大部分時(shí)候并不能感覺(jué)出他們的區(qū)別,對(duì)于普通用戶來(lái)說(shuō),只要能播放就行了。

          那么他們內(nèi)部究竟有什么區(qū)別呢?

          在手機(jī)或者PC上,都會(huì)有CPU、GPU或者解碼器等硬件。通常,我們的計(jì)算都是在CPU上進(jìn)行的,也就是我們軟件的執(zhí)行芯片,而GPU主要負(fù)責(zé)畫面的顯示(是一種硬件加速)。

          所謂軟解碼:就是指利用CPU的計(jì)算能力來(lái)解碼,通常如果CPU的能力不是很強(qiáng)的時(shí)候,一則解碼速度會(huì)比較慢,二則手機(jī)可能出現(xiàn)發(fā)熱現(xiàn)象。但是,由于使用統(tǒng)一的算法,兼容性會(huì)很好。

          所謂硬解碼:指的是利用手機(jī)上專門的解碼芯片來(lái)加速解碼。通常硬解碼的解碼速度會(huì)快很多,但是由于硬解碼由各個(gè)廠家實(shí)現(xiàn),質(zhì)量參差不齊,非常容易出現(xiàn)兼容性問(wèn)題。

          10、參考資料

          [1] 音視頻開(kāi)發(fā)基礎(chǔ)知識(shí)

          [2] YUV顏色編碼解析

          [3] YUV數(shù)據(jù)格式

          [4] 音頻基礎(chǔ)知識(shí)

          [5] AAC 文件解析及解碼流程

          [6] 入門理解H264編碼

          附錄:更多音視頻技術(shù)文章匯總

          [1] 開(kāi)源實(shí)時(shí)音視頻技術(shù)WebRTC的文章:

          開(kāi)源實(shí)時(shí)音視頻技術(shù)WebRTC的現(xiàn)狀

          簡(jiǎn)述開(kāi)源實(shí)時(shí)音視頻技術(shù)WebRTC的優(yōu)缺點(diǎn)

          訪談WebRTC標(biāo)準(zhǔn)之父:WebRTC的過(guò)去、現(xiàn)在和未來(lái)

          良心分享:WebRTC 零基礎(chǔ)開(kāi)發(fā)者教程(中文)[附件下載]

          WebRTC實(shí)時(shí)音視頻技術(shù)的整體架構(gòu)介紹

          新手入門:到底什么是WebRTC服務(wù)器,以及它是如何聯(lián)接通話的?

          WebRTC實(shí)時(shí)音視頻技術(shù)基礎(chǔ):基本架構(gòu)和協(xié)議棧

          淺談開(kāi)發(fā)實(shí)時(shí)視頻直播平臺(tái)的技術(shù)要點(diǎn)

          [觀點(diǎn)] WebRTC應(yīng)該選擇H.264視頻編碼的四大理由

          基于開(kāi)源WebRTC開(kāi)發(fā)實(shí)時(shí)音視頻靠譜嗎?第3方SDK有哪些?

          開(kāi)源實(shí)時(shí)音視頻技術(shù)WebRTC中RTP/RTCP數(shù)據(jù)傳輸協(xié)議的應(yīng)用

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

          實(shí)時(shí)通信RTC技術(shù)棧之:視頻編解碼

          開(kāi)源實(shí)時(shí)音視頻技術(shù)WebRTC在Windows下的簡(jiǎn)明編譯教程

          網(wǎng)頁(yè)端實(shí)時(shí)音視頻技術(shù)WebRTC:看起來(lái)很美,但離生產(chǎn)應(yīng)用還有多少坑要填?

          了不起的WebRTC:生態(tài)日趨完善,或?qū)?shí)時(shí)音視頻技術(shù)白菜化

          騰訊技術(shù)分享:微信小程序音視頻與WebRTC互通的技術(shù)思路和實(shí)踐

          >> 更多同類文章 ……

          [2] 實(shí)時(shí)音視頻開(kāi)發(fā)的其它精華資料:

          即時(shí)通訊音視頻開(kāi)發(fā)(一):視頻編解碼之理論概述

          即時(shí)通訊音視頻開(kāi)發(fā)(二):視頻編解碼之?dāng)?shù)字視頻介紹

          即時(shí)通訊音視頻開(kāi)發(fā)(三):視頻編解碼之編碼基礎(chǔ)

          即時(shí)通訊音視頻開(kāi)發(fā)(四):視頻編解碼之預(yù)測(cè)技術(shù)介紹

          即時(shí)通訊音視頻開(kāi)發(fā)(五):認(rèn)識(shí)主流視頻編碼技術(shù)H.264

          即時(shí)通訊音視頻開(kāi)發(fā)(六):如何開(kāi)始音頻編解碼技術(shù)的學(xué)習(xí)

          即時(shí)通訊音視頻開(kāi)發(fā)(七):音頻基礎(chǔ)及編碼原理入門

          即時(shí)通訊音視頻開(kāi)發(fā)(八):常見(jiàn)的實(shí)時(shí)語(yǔ)音通訊編碼標(biāo)準(zhǔn)

          即時(shí)通訊音視頻開(kāi)發(fā)(九):實(shí)時(shí)語(yǔ)音通訊的回音及回音消除概述

          即時(shí)通訊音視頻開(kāi)發(fā)(十):實(shí)時(shí)語(yǔ)音通訊的回音消除技術(shù)詳解

          即時(shí)通訊音視頻開(kāi)發(fā)(十一):實(shí)時(shí)語(yǔ)音通訊丟包補(bǔ)償技術(shù)詳解

          即時(shí)通訊音視頻開(kāi)發(fā)(十二):多人實(shí)時(shí)音視頻聊天架構(gòu)探討

          即時(shí)通訊音視頻開(kāi)發(fā)(十三):實(shí)時(shí)視頻編碼H.264的特點(diǎn)與優(yōu)勢(shì)

          即時(shí)通訊音視頻開(kāi)發(fā)(十四):實(shí)時(shí)音視頻數(shù)據(jù)傳輸協(xié)議介紹

          即時(shí)通訊音視頻開(kāi)發(fā)(十五):聊聊P2P與實(shí)時(shí)音視頻的應(yīng)用情況

          即時(shí)通訊音視頻開(kāi)發(fā)(十六):移動(dòng)端實(shí)時(shí)音視頻開(kāi)發(fā)的幾個(gè)建議

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

          即時(shí)通訊音視頻開(kāi)發(fā)(十八):詳解音頻編解碼的原理、演進(jìn)和應(yīng)用選型

          即時(shí)通訊音視頻開(kāi)發(fā)(十九):零基礎(chǔ),史上最通俗視頻編碼技術(shù)入門

          實(shí)時(shí)語(yǔ)音聊天中的音頻處理與編碼壓縮技術(shù)簡(jiǎn)述

          網(wǎng)易視頻云技術(shù)分享:音頻處理與壓縮技術(shù)快速入門

          學(xué)習(xí)RFC3550:RTP/RTCP實(shí)時(shí)傳輸協(xié)議基礎(chǔ)知識(shí)

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

          聲網(wǎng)架構(gòu)師談實(shí)時(shí)音視頻云的實(shí)現(xiàn)難點(diǎn)(視頻采訪)

          淺談開(kāi)發(fā)實(shí)時(shí)視頻直播平臺(tái)的技術(shù)要點(diǎn)

          還在靠“喂喂喂”測(cè)試實(shí)時(shí)語(yǔ)音通話質(zhì)量?本文教你科學(xué)的評(píng)測(cè)方法!

          實(shí)現(xiàn)延遲低于500毫秒的1080P實(shí)時(shí)音視頻直播的實(shí)踐分享

          移動(dòng)端實(shí)時(shí)視頻直播技術(shù)實(shí)踐:如何做到實(shí)時(shí)秒開(kāi)、流暢不卡

          如何用最簡(jiǎn)單的方法測(cè)試你的實(shí)時(shí)音視頻方案

          技術(shù)揭秘:支持百萬(wàn)級(jí)粉絲互動(dòng)的Facebook實(shí)時(shí)視頻直播

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

          移動(dòng)端實(shí)時(shí)音視頻直播技術(shù)詳解(一):開(kāi)篇

          移動(dòng)端實(shí)時(shí)音視頻直播技術(shù)詳解(二):采集

          移動(dòng)端實(shí)時(shí)音視頻直播技術(shù)詳解(三):處理

          移動(dòng)端實(shí)時(shí)音視頻直播技術(shù)詳解(四):編碼和封裝

          移動(dòng)端實(shí)時(shí)音視頻直播技術(shù)詳解(五):推流和傳輸

          移動(dòng)端實(shí)時(shí)音視頻直播技術(shù)詳解(六):延遲優(yōu)化

          理論聯(lián)系實(shí)際:實(shí)現(xiàn)一個(gè)簡(jiǎn)單地基于HTML5的實(shí)時(shí)視頻直播

          IM實(shí)時(shí)音視頻聊天時(shí)的回聲消除技術(shù)詳解

          淺談實(shí)時(shí)音視頻直播中直接影響用戶體驗(yàn)的幾項(xiàng)關(guān)鍵技術(shù)指標(biāo)

          如何優(yōu)化傳輸機(jī)制來(lái)實(shí)現(xiàn)實(shí)時(shí)音視頻的超低延遲?

          首次披露:快手是如何做到百萬(wàn)觀眾同場(chǎng)看直播仍能秒開(kāi)且不卡頓的?

          Android直播入門實(shí)踐:動(dòng)手搭建一套簡(jiǎn)單的直播系統(tǒng)

          網(wǎng)易云信實(shí)時(shí)視頻直播在TCP數(shù)據(jù)傳輸層的一些優(yōu)化思路

          實(shí)時(shí)音視頻聊天技術(shù)分享:面向不可靠網(wǎng)絡(luò)的抗丟包編解碼器

          P2P技術(shù)如何將實(shí)時(shí)視頻直播帶寬降低75%?

          專訪微信視頻技術(shù)負(fù)責(zé)人:微信實(shí)時(shí)視頻聊天技術(shù)的演進(jìn)

          騰訊音視頻實(shí)驗(yàn)室:使用AI黑科技實(shí)現(xiàn)超低碼率的高清實(shí)時(shí)視頻聊天

          微信團(tuán)隊(duì)分享:微信每日億次實(shí)時(shí)音視頻聊天背后的技術(shù)解密

          近期大熱的實(shí)時(shí)直播答題系統(tǒng)的實(shí)現(xiàn)思路與技術(shù)難點(diǎn)分享

          福利貼:最全實(shí)時(shí)音視頻開(kāi)發(fā)要用到的開(kāi)源工程匯總

          七牛云技術(shù)分享:使用QUIC協(xié)議實(shí)現(xiàn)實(shí)時(shí)視頻直播0卡頓!

          實(shí)時(shí)音視頻聊天中超低延遲架構(gòu)的思考與技術(shù)實(shí)踐

          理解實(shí)時(shí)音視頻聊天中的延時(shí)問(wèn)題一篇就夠

          實(shí)時(shí)視頻直播客戶端技術(shù)盤點(diǎn):Native、HTML5、WebRTC、微信小程序

          寫給小白的實(shí)時(shí)音視頻技術(shù)入門提綱

          微信多媒體團(tuán)隊(duì)訪談:音視頻開(kāi)發(fā)的學(xué)習(xí)、微信的音視頻技術(shù)和挑戰(zhàn)等

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

          微信多媒體團(tuán)隊(duì)梁俊斌訪談:聊一聊我所了解的音視頻技術(shù)

          新浪微博技術(shù)分享:微博短視頻服務(wù)的優(yōu)化實(shí)踐之路

          實(shí)時(shí)音頻的混音在視頻直播應(yīng)用中的技術(shù)原理和實(shí)踐總結(jié)

          以網(wǎng)游服務(wù)端的網(wǎng)絡(luò)接入層設(shè)計(jì)為例,理解實(shí)時(shí)通信的技術(shù)挑戰(zhàn)

          騰訊技術(shù)分享:微信小程序音視頻與WebRTC互通的技術(shù)思路和實(shí)踐

          新浪微博技術(shù)分享:微博實(shí)時(shí)直播答題的百萬(wàn)高并發(fā)架構(gòu)實(shí)踐

          技術(shù)干貨:實(shí)時(shí)視頻直播首屏耗時(shí)400ms內(nèi)的優(yōu)化實(shí)踐

          愛(ài)奇藝技術(shù)分享:輕松詼諧,講解視頻編解碼技術(shù)的過(guò)去、現(xiàn)在和將來(lái)

          零基礎(chǔ)入門:實(shí)時(shí)音視頻技術(shù)基礎(chǔ)知識(shí)全面盤點(diǎn)

          >> 更多同類文章 ……

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



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


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          Jack Jiang的 Mail: jb2011@163.com, 聯(lián)系QQ: 413980957, 微信: hellojackjiang
          主站蜘蛛池模板: 日土县| 文安县| 湖州市| 剑阁县| 安阳市| 金乡县| 常德市| 霞浦县| 哈尔滨市| 绵竹市| 呼和浩特市| 海口市| 东乡族自治县| 白银市| 阿鲁科尔沁旗| 原平市| 商都县| 盘山县| 磴口县| 麻阳| 卢龙县| 化隆| 晴隆县| 海口市| 张北县| 凤山市| 新营市| 正阳县| 克拉玛依市| 漾濞| 长白| 深圳市| 高平市| 资阳市| 农安县| 偃师市| 宜兰市| 南康市| 仁布县| 余庆县| 泾阳县|