日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

音视频技术基础知识

發(fā)布時間:2023/12/14 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 音视频技术基础知识 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

一、音視頻基本原理

1、音視頻的主要處理過程

2、音視頻主要參數(shù)及格式

3、流媒體協(xié)議

二、音視頻視頻質量標準

1.視頻質量標準評估

2.音頻質量標準評估

三、直播測試一些關注點


一、音視頻基本原理

1、音視頻的主要處理過程:

[1]. 采集。比如從客戶端的攝像頭、麥克風和本地原始文件等,獲得基礎的音視頻數(shù)據(jù);

[2]. 預處理。在這個階段其實就是對音視頻進行修剪操作,畢竟收集到的原始數(shù)據(jù),不一定是想要在最后呈現(xiàn)的效果,因此在這里可能會進行美顏、裁剪、AI識別處理、聲音A3處理等;

[3]. 編碼。在經(jīng)過預處理或者沒處理過的原始文件,一般都會比較大,不適合進行傳輸,這個時候就需要進行壓縮、轉碼之類的操作,減 少文件提交,然后再進行傳輸,執(zhí)行編碼的工具叫編碼器,壓縮數(shù)據(jù)的算法叫做編碼格式;

[4]. 解碼。壓縮數(shù)據(jù)傳輸完之后,就需要解碼成原始文件一樣的數(shù)據(jù)才能使用,用來解碼的工具就是解碼器了,不過通常編碼器和解碼器 是一塊的,統(tǒng)稱為編解碼器codec;

[5]. 渲染與展示。接收到原始數(shù)據(jù)文件之后,就可以通過硬件或者軟件進行渲染與展示了,硬件例如顯示器、音響等,軟件有 SurfaceView;

[6]. 文件封裝/解封裝。其實從采集開始,音頻和視頻都是分開進行處理的,但是在進行傳輸?shù)臅r候,我們需要同一套音頻文件是在一塊 的,所以需要進行一次文件封裝。存放音視頻的容器叫封裝容器,文件類型叫封裝格式;

[7]. 網(wǎng)絡協(xié)議打包/解包。音視頻文件在網(wǎng)絡中傳輸?shù)臅r候,一般都會有一個特定的協(xié)議,也就是流媒體協(xié)議。網(wǎng)絡協(xié)議會將音視頻數(shù)據(jù)文 件打包成協(xié)議包,通過網(wǎng)絡協(xié)議端口發(fā)送出去,接收方接收到網(wǎng)絡包之后,要通過網(wǎng)絡協(xié)議解開協(xié)議包,才能獲得音視頻數(shù)據(jù)文件;

[8].抖動緩沖區(qū)(JitterBuffer)。網(wǎng)絡抖動就是實際發(fā)(收)的數(shù)據(jù)沒有發(fā)(收),判斷是否抖動就是看丟包率是否增加、 往返時延 (RTT)是否增加、發(fā)送速率是否降低。 JitterBuffer就是為了減少網(wǎng)絡抖動給音視頻傳輸帶來的影響而產(chǎn)生的,JitterBuffer是傳輸過程中的一個緩沖區(qū),連接著解碼器和網(wǎng)絡協(xié)議

棧。JitterBuffer會有意地延遲音視頻傳輸時間,將數(shù)據(jù)先緩存在緩沖區(qū)中,并且也會將之前緩存的數(shù)據(jù)發(fā)送到接收端,可以理解成我們在網(wǎng)上 看電視的時候的視頻緩存,這樣的話,即使出現(xiàn)了偶爾的網(wǎng)絡抖動,也不會影響到用戶的體驗。

2、音視頻主要參數(shù)及格式

視頻參數(shù):

  • 1. 分辨率:視頻面積大小(像素px)
  • 2. 幀率:每秒的幀數(shù)量fps
  • 3. 碼率:每秒的數(shù)據(jù)量bps(b = bit)
  • 音頻參數(shù):

  • 1. 采樣率:每秒采集的音頻點數(shù)量Hz
  • 2. 聲道數(shù):同時采集聲音的通道數(shù)量,常見有單聲道和立體聲道
  • 3. 位寬:也叫采樣位寬,指保存單個聲音樣本點的比特位數(shù),通常是16bit
  • 4. 比特率:也稱位率, 指每秒傳送的比特 (bit) 數(shù), 單位為 bps
  • 5. 計算公式為: 比特率 = 采樣頻率 * 采樣位數(shù) * 聲道數(shù)
  • 原始數(shù)據(jù)格式:

    • 視頻:YUV、RGB
    • 音頻:PCM

    編碼格式:

    • 視頻:H.264(也叫AVG)、H.265
    • 音頻:AAC、HE-AAC、Opus

    封裝格式:

    • MP4,MOV,FLV,RM,RMVB,AVI

    更多編碼與格式相關的可看這篇:音視頻編碼格式與封裝格式_橘啊橘啊的博客-CSDN博客

    3、流媒體協(xié)議

    通常音視頻數(shù)據(jù)體積比較大,所以在網(wǎng)絡傳輸過程中都是連續(xù)不斷的多媒體流量,在網(wǎng)絡中傳輸音視頻數(shù)據(jù)的技術叫流媒體技術,傳輸使 用的協(xié)議就是流媒體協(xié)議。

    通常使用的流媒體協(xié)議有以下幾種:

    [1]. RTMP:基于TCP七層協(xié)議,性價比高,是目前直播推流的標準使用協(xié)議;

    [2]. HTTP-FLV:基于TCP,使用HTTP傳輸FLV流,分發(fā)性能強,適用于CDN分發(fā);

    [3]. HLS:基于TCP,被HTML5寫入標準支持,延時大,但是兼容H5;

    [4]. RTP:基于UDP四層協(xié)議,定義簡單且性能好,但是需要額外的信令協(xié)議。

    除了以上四種之外,有些廠商還會有自己的協(xié)議已達到特定的傳輸目的。

    四種流媒體協(xié)議對比:

    二、音視頻視頻質量標準

    ????????直播功能的測試,不僅要保障基本的業(yè)務功能需求,關注音視頻質量也是必不可少的。通過對流暢度、清晰度、音質、穩(wěn)定性和流量消耗等進行專項測試,不斷優(yōu)化各項質量指標,從而提高音視頻通話質量。

    1.視頻質量標準評估(此處只列出常規(guī)的幾個):

    1、首屏耗時

    第一次點擊播放后,肉眼看到畫面所等待的時間。技術上指播放器解碼第一幀渲染顯示畫面所花的耗時。

    通常說的 “秒開”,指點擊播放后,一秒內即可看到播放畫面。首屏打開越快,說明用戶體驗越好。

    2、清晰度

    清晰度受視頻分辨率和碼率影響較大,發(fā)送碼率越大且分辨率越高,則視頻清晰度越好。

    需要注意的是:分辨率碼率太高,會導致運營成本太高,用戶端加載的速度也比較慢。分辨率碼率偏低,則容易出現(xiàn)不清晰的問題,影響

    用戶體驗。

    3、幀率

    由于人類眼睛的特殊生理結構,如果所看畫面幀率高于16的時候,就會認為是連貫的,因此幀率建議不低于16幀。而幀率低于5幀時,人

    眼能明顯感覺到畫面不連貫,產(chǎn)生卡的感覺。

    幀率對視頻質量的影響遠遠大于分辨率和QP。QP:量化參數(shù),反映了空間細節(jié)壓縮情況。值越小,量化越精細,圖像質量越高,產(chǎn)生的

    碼流也越長。

    4、卡頓(流暢度)

    指視頻播放過程中出現(xiàn)畫面滯幀,讓人們明顯感覺到“卡”。單位時間內的播放卡頓次數(shù)統(tǒng)計稱之為卡頓率。

    流暢度一般以卡頓率來反映,卡頓的信息主要包含卡頓次數(shù)與卡頓時間;直播場景業(yè)界通常的卡頓定義是幀渲染間隔大于1s則為卡頓發(fā)

    生;但通過主觀實驗,一般這個值達到200ms,觀眾即可感受到卡頓。

    5、穩(wěn)定性

    在各種損傷變化場景下,連續(xù)長時間直播未出現(xiàn)花屏、黑屏、自動中斷等現(xiàn)象。

    6、延遲

    延遲是數(shù)據(jù)從信息源發(fā)送到目的地所需的時間。延遲越低,則用戶體驗越好。

    2.音頻質量標準評估

    1、采樣率

    直播場景和連麥場景下,音頻采樣率大于16k。

    根據(jù)采樣定律,最小采樣率是最高可采樣頻率的2倍,也就是說16kHz可以采樣的聲音頻率范圍是8kHz以下。根據(jù)頻率表人聲頻率基本都

    在8kHz以下,特別是語音頻率基本都是1kHz以下。因此16kHz的采樣率完全足夠。

    2、音質客觀評分

    此處介紹一種質量評估算法。POLQA (感知客觀語音質量評估),是一種全參考(FR)算法,可對與原始信號相關的降級或處理過的語音

    信號進行評級。它將參考信號(講話者側)的每個樣本與劣化信號(收聽者側)的每個相應樣本進行比較。兩個信號之間的感知差異被評

    為差異。

    POLQA 結果主要是模型平均意見得分(MOS),涵蓋從 1(差)到 5(優(yōu)秀)的范圍。

    3、音畫同步

    由于播放器在處理音視頻的時候是分開進行解碼渲染的,要做到音畫同步則要給音畫添加上時間戳(PTS)的概念,時間相近的音頻幀和視頻

    幀,我們就認定為是同步的兩個幀。

    一般音視頻同步的做法有三種:視頻同步到音頻、音頻同步到視頻、音視頻同步的外部時鐘。

    簡單的測試方法就是觀看直播過程中,主觀判斷視頻畫面中主播口型跟聲音是否對得上

    4、連麥-噪聲抑制

    噪聲抑制技術用于消除背景噪聲,改善語音信號的信噪比和可懂度,讓人和機器聽得更清楚。

    5、連麥-回聲抵消

    主播和觀眾連麥模式下,單講和雙講時,說話方聽到的回聲較小,不會影響交流。

    單講:觀眾端開啟揚聲器,主播端說話,主觀聽是否有自己的回聲;反過來觀眾端說話,聽是否有回聲。

    雙講:雙方都開啟揚聲器,并同時說話,主觀聽是否有回聲,或聲音斷續(xù)有剪切。

    三、直播測試一些關注點

    1、直播間角色

    每一個業(yè)務場景,都要通過不同的角色進行分析。最基本的角色有:主播、連麥者、觀眾,可能還有其他角色。在設計用例、執(zhí)行測試的

    過程中,都要從不同的角色進行測試和驗證,保證各個視角功能正常。

    2、異常場景

    直播中主要的異常場景有:申請連麥異常、同意連麥異常、上麥異常、下麥異常、多次上下麥異常、網(wǎng)絡切換導致的異常、直播中登錄態(tài)

    踢出導致的異常等。

    3、性能測試指標數(shù)據(jù)獲取

    直播的性能測試場景有:連續(xù)長時間開播、重復開播關播、開啟美顏直播、贈送禮物等

    可通過使用xcode\android studio等分析觀察指標數(shù)據(jù),也可通過安卓測試工具-性能監(jiān)控/iOS太極-更多-性能監(jiān)測打開相應指標開關,

    或通過打印日志確定當前數(shù)值。

    4、媒體音量與通話音量

    通話音量指的是進行語音、視頻通話時的音量;媒體音量指的是播放背景音樂、視頻、音效的音量。通話音量和媒體音量彼此獨立,一個

    的設置不會影響到另一個。兩者的差異:

    SDK 使用的音量類型受音頻路由、頻道場景、用戶角色和音頻應用場景影響,所以在測試的過程中,需要從用戶體驗出發(fā),考慮各個不同的方面聲音的播放

    總結

    以上是生活随笔為你收集整理的音视频技术基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。