• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
    您當前的位置是:  首頁(yè) > 新聞 > 國內 >
     首頁(yè) > 新聞 > 國內 >

    七牛云發(fā)布直播云解決方案 采集環(huán)節技術(shù)詳解

    2016-08-26 10:01:25   作者:   來(lái)源:CTI論壇   評論:0  點(diǎn)擊cti:


      隨著(zhù)互聯(lián)網(wǎng)用戶(hù)消費內容和交互方式的升級,支撐這些內容和交互方式的基礎設施也正在悄悄發(fā)生變革。手機設備拍攝視頻能力和網(wǎng)絡(luò )的升級催生了大家對視頻直播領(lǐng)域的關(guān)注,吸引了很多互聯(lián)網(wǎng)創(chuàng )業(yè)者或者成熟企業(yè)進(jìn)入該領(lǐng)域。
      七牛云作為一家以基礎服務(wù)能力見(jiàn)長(cháng)的云計算公司,于6月底發(fā)布了一個(gè)針對視頻直播的實(shí)時(shí)流網(wǎng)絡(luò ) LiveNet 和完整的直播云解決方案,很多開(kāi)發(fā)者對這個(gè)網(wǎng)絡(luò )和解決方案的細節和使用場(chǎng)景非常感興趣。本篇我們將重點(diǎn)對直播技術(shù)中的采集環(huán)節做詳解。
      直播采集圖解
      采集是整個(gè)視頻推流過(guò)程中的第一個(gè)環(huán)節,它從系統的采集設備中獲取原始視頻數據,將其輸出到下一個(gè)環(huán)節。視頻的采集涉及兩方面數據的采集:音頻采集和圖像采集,它們分別對應兩種完全不同的輸入源和數據格式。
      采集內容
      1.音頻采集
      音頻數據既能與圖像結合組合成視頻數據,也能以純音頻的方式采集播放,后者在很多成熟的應用場(chǎng)景如在線(xiàn)電臺和語(yǔ)音電臺等起著(zhù)非常重要的作用。音頻的采集過(guò)程主要通過(guò)設備將環(huán)境中的模擬信號采集成 PCM 編碼的原始數據,然后編碼壓縮成 MP3 等格式的數據分發(fā)出去。常見(jiàn)的音頻壓縮格式有:MP3,AAC,OGG,WMA,Opus,FLAC,APE,m4a 和 AMR 等。
      音頻采集和編碼主要面臨的挑戰在于:延時(shí)敏感、卡頓敏感、噪聲消除 (Denoise)、回聲消除 (AEC)、靜音檢測 (VAD)和各種混音算法等。
      在音頻采集階段,參考的主要技術(shù)參數有 :
      采樣率 (samplerate):采樣就是把模擬信號數字化的過(guò)程,采樣頻率越高,記錄這一段音頻信號所用的數據量就越大,同時(shí)音頻質(zhì)量也就越高。
      位寬:每一個(gè)采樣點(diǎn)都需要用一個(gè)數值來(lái)表示大小,這個(gè)數值的數據類(lèi)型大小可以是:4bit、8bit、16bit、32bit 等等,位數越多,表示得就越精細,聲音質(zhì)量自然就越好,而數據量也會(huì )成倍增大。七牛云在音頻采樣過(guò)程中常用的位寬是8bit 或者16bit。
      聲道數 (channels):由于音頻的采集和播放是可以疊加的,因此,可以同時(shí)從多個(gè)音頻源采集聲音,并分別輸出到不同的揚聲器,故聲道數一般表示聲音錄制時(shí)的音源數量或回放時(shí)相應的揚聲器數量。聲道數為 1 和 2 分別稱(chēng)為單聲道和雙聲道,是比較常見(jiàn)的聲道參數。
      音頻幀 (frame):音頻跟視頻很不一樣,視頻每一幀就是一張圖像,而從上面的正玄波可以看出,音頻數據是流式的,本身沒(méi)有明確的一幀幀的概念,在實(shí)際的應用中,為了音頻算法處理/傳輸的方便,一般約定俗成取2.5ms~60ms為單位的數據量為一幀音頻。這個(gè)時(shí)間被稱(chēng)之為“采樣時(shí)間”,其長(cháng)度沒(méi)有特別的標準,它是根據編解碼器和具體應用的需求來(lái)決定的。
      根據以上定義,可以計算一下一幀音頻幀的大小。假設某音頻信號是采樣率為 8kHz、雙通道、位寬為 16bit,20ms 一幀,則一幀音頻數據的大小為:
      size = 8000 x 2 x 16bit x 0.02s = 5120 bit = 640 byte
      2.圖像采集
      圖像采集的圖片結果組合成一組連續播放的動(dòng)畫(huà),即構成視頻中可肉眼觀(guān)看的內容。圖像的采集過(guò)程主要由攝像頭等設備拍攝成 YUV 編碼的原始數據,然后經(jīng)過(guò)編碼壓縮成 H.264 等格式的數據分發(fā)出去。常見(jiàn)的視頻封裝格式有:MP4、3GP、AVI、MKV、WMV、MPG、VOB、FLV、SWF、MOV、RMVB 和 WebM 等。
      圖像由于其直觀(guān)感受最強并且體積也比較大,構成了一個(gè)視頻內容的主要部分。圖像采集和編碼面臨的主要挑戰在于:設備兼容性差、延時(shí)敏感、卡頓敏感以及各種對圖像的處理操作如美顏和水印等。
      在圖像采集階段,參考的主要技術(shù)參數有:
      圖像傳輸格式:通用影像傳輸格式 (Common Intermediate Format) 是視訊會(huì )議 (video conference) 中常使用的影像傳輸格式。
      圖像格式:通常采用 YUV 格式存儲原始數據信息,其中包含用 8 位表示的黑白圖像灰度值,以及可由 RGB 三種色彩組合成的彩色圖像。
      傳輸通道:正常情況下視頻的拍攝只需1路通道,隨著(zhù)VR和AR 技術(shù)的日漸成熟,為了拍攝一個(gè)完整的 360° 視頻,可能需要通過(guò)不同角度拍攝,然后經(jīng)過(guò)多通道傳輸后合成。
      分辨率:隨著(zhù)設備屏幕尺寸的日益增多,視頻采集過(guò)程中原始視頻分辨率起著(zhù)越來(lái)越重要的作用,后續處理環(huán)節中使用的所有視頻分辨率的定義都以原始視頻分辨率為基礎。視頻采集卡能支持的最大點(diǎn)陣反映了其分辨率的性能。
      采樣頻率:采樣頻率反映了采集卡處理圖像的速度和能力。在進(jìn)行高度圖像采集時(shí),需要注意采集卡的采樣頻率是否滿(mǎn)足要求。采樣率越高,圖像質(zhì)量越高,同時(shí)保存這些圖像信息的數據量也越大。
      以上,構成了一個(gè)視頻采集的主要技術(shù)參數,以及視頻中音頻和圖像編碼的常用格式。而對于直播 App 開(kāi)發(fā)者來(lái)說(shuō),了解這些細節雖然更有幫助,但實(shí)際開(kāi)發(fā)過(guò)程中可能很少能夠關(guān)注采集環(huán)節中技術(shù)參數的控制,而是直接在 SDK 中將采集后的數據傳遞給下一個(gè)「處理」和「編碼」環(huán)節。
      采集源
      1.攝像頭采集
      對于視頻內容的采集,目前攝像頭采集是社交直播中最常見(jiàn)的采集方式,比如主播使用手機的前置和后置攝像頭拍攝。在現場(chǎng)直播場(chǎng)景中,也有專(zhuān)業(yè)的攝影、攝像設備用來(lái)采集。安防監控場(chǎng)景中也有專(zhuān)業(yè)的攝像頭進(jìn)行監控采集。
      目前七牛提供的SDK對以上兩類(lèi)攝像頭的采集都支持,對于手機,iOS 和Android分別支持前置后置攝像頭的采集,只是 iOS 由于設備種類(lèi)和系統版本不多,因此采集模塊兼容性較好;而 Android 需要適配的硬件設備和系統則非常多,目前支持 Android 4.0.3 及以上的攝像頭采集。對于專(zhuān)業(yè)攝像機或者攝像頭,七牛云提供了兼容適合嵌入式系統的 C 語(yǔ)言采集模塊的實(shí)現。
      2.屏幕錄制
      屏幕錄制采集的方式在游戲直播場(chǎng)景中非常常見(jiàn),目前在 Android SDK 中實(shí)現了屏幕錄制的功能。而 iOS 則由于系統本身沒(méi)有開(kāi)放屏幕錄制的權限而沒(méi)法直接操作,但對于 iOS 9 以上的版本,是有個(gè)取巧的辦法,可以通過(guò)模擬一個(gè) AirPlay 鏡像連接到(當前 App)自身,這樣就可以在軟件上捕獲到屏幕上的任何操作,達到錄制屏幕的效果。
      在教育直播或者會(huì )場(chǎng)演講場(chǎng)合,經(jīng)常看見(jiàn)需要錄制電腦桌面上 PPT 的場(chǎng)景,針對這種場(chǎng)景,目前市面上比較方便的方案是使用開(kāi)源的桌面推流工具 OBS 來(lái)進(jìn)行屏幕錄制和推流。
      3.從視頻文件推流
      除了從硬件設備采集視頻進(jìn)行推流之外,也可能需要將一個(gè)視頻或者音頻文件以直播流的形式實(shí)時(shí)傳輸給觀(guān)眾,比如在線(xiàn)電臺或者電視節目,它們的輸入可能直接來(lái)自于一些已經(jīng)錄制剪輯好的視頻內容。
      開(kāi)放式設計
      以上從采集內容和采集源兩個(gè)維度分別介紹了視頻采集相關(guān)的知識,但對于采集源來(lái)說(shuō),市場(chǎng)上可見(jiàn)的采集源遠遠不止這三種,即便是攝像頭也有很多分類(lèi)。對于一個(gè)完整的覆蓋推流、傳輸和播放三個(gè)環(huán)節的直播云服務(wù)來(lái)說(shuō),支持盡可能多的采集源和播放終端是一項既無(wú)法規避也很難完成的工作。
      為了支持市場(chǎng)上所有采集源的接入,七牛云在 SDK 中采用了開(kāi)放式的設計,只要采集源實(shí)現方遵循相應的接口,即可支持任意的采集源。
      直播采集圖解  
      圖中把采集的內容分為圖像和音頻,其中圖像的采集源包含攝像頭、屏幕錄制或者本地的視頻文件,甚至是其它需要重新定義和實(shí)現的采集源。而音頻的采集源包含麥克風(fēng)、系統聲音或者本地音頻文件,當然也可以為它定義別的輸入源。
      這樣設計最大的好處在于,可以以輕量的設計方式支持豐富的采集源,而采集源的具體實(shí)現也可以交給使用者。

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 柏乡县| 紫金县| 咸阳市| 儋州市| 四川省| 万源市| 安吉县| 东光县| 肇源县| 平南县| 大洼县| 长宁县| 土默特左旗| 肇源县| 清流县| 壤塘县| 商洛市| 大理市| 洮南市| 梧州市| 扶绥县| 内乡县| 钟祥市| 祁阳县| 花莲市| 浪卡子县| 寿宁县| 铁岭县| 阿巴嘎旗| 磴口县| 高平市| 安泽县| 綦江县| 新密市| 牡丹江市| 新巴尔虎左旗| 苍溪县| 东丰县| 华坪县| 黑河市| 潢川县| http://444 http://444 http://444 http://444 http://444 http://444