欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[點晴永久免費OA]關于視頻你需要知道的基本概念:碼率(Bitrate)、幀率(FPS)、分辨率和清晰度

freeflydom
2024年4月23日 11:43 本文熱度 1032
 
 

前言

想通過一篇文章的科普,讓你在使用視頻的時候知道如何選擇合適的視頻參數。

  • 一般涉及到的視頻參數就是:封裝格式、編碼格式、碼率、幀率和分辨率。

  • 對用戶表現的體感就是:流暢度和清晰度。

  • 開發者需要關心的是:內存、CPU 和 GPU 的消耗、體積大小和帶寬。

本篇文章會嘗試把這些概率都聯系起來,對視頻相關的概念有整體的認知。

結論先行

用戶視角:

  • 清晰度 = 碼率 / 分辨率

  • 流暢度 = 幀率

開發者視角:

  • 影響內存的:主要是分辨率

  • 影響 CPU 的:碼率和編碼格式

  • 影響 GPU 的:分辨率和編碼格式。

  • 影響體積大小和帶寬:碼率

封裝格式

就是把視頻數據和音頻數據打包成一個文件的規范。  一個完整的視頻文件,包括音頻、視頻和基礎元信息,我們常見的視頻文件如  mp4、mov、flv、avi、rmvb  等視頻文件,就是一個容器的封裝,里面包含了音頻和視頻兩部分。

封裝格式是不會影響視頻的畫質,封裝成什么格式就看在使用的時候解碼器是否支持這個封裝格式即可。

封裝,也叫多路復用(mux)。封裝的目的一般為了在一個文件(流)中能同時存儲視頻(video)、音頻(audio)、字幕(subtitle)等內容——這也正是“復用”的含義所在(分時復用)。封裝還有另一個作用是在網絡環境下確保數據的可靠快速傳輸。

編碼格式

我們知道,其實視頻就是一幀一幀的圖片。計算一下,一部 25 幀每秒,90 分鐘,分辨率為 1024*768,24 位(rgb 每個 8 位)真彩色的視頻,沒有經過壓縮,大小為 :

  • 1Byte(字節) = 8bit(位)

  • 一幀大小 = 1024 * 768 * 24 = 18874368(bit) = 2359296(Byte)

  • 總幀數 = 90 * 60 * 25 = 135000

  • 總大小 = 一幀大小 * 總幀數 = 2359296 * 135000 = 318504960000(Byte)= 303750(MB)≈ 296(GB)

從上面的計算可以看出,我們儲存一部 90 分鐘沒壓縮的電影需要 296GB 的。所以我們需要對視頻進行壓縮,這種視頻壓縮技術就是我們所說的編碼。

視頻編碼方式:H.26X(H.261、H.262、…、H.264(目前最常用)、H.265)

音頻編碼方式:MP3、AAC 等

通過視頻壓縮算法,減少了視頻文件的大小。壓縮比越大,解壓縮還原后播放的視頻越失真,這是因為壓縮的同時不可避免的丟失了視頻中原來圖像的數據信息。

注意編碼格式要跟封裝格式做區分,兩者沒有任何關系。

一般我們只需要關注 H.264H.265 即可,H.264 是使用最廣泛,除了 H.265 之外壓縮率最高的,也就是說在相同碼率下除了 H.265 之外 體積最小的。

而 H.265 相比于 H.264 相同碼率下體積還降低了  50%  。

那是不是就可以無腦使用 H.265 了呢?先說說使用 H.265 有什么問題,我認為最大的兩點就是:

  1. 計算復雜性 。H.265 的編碼和解碼過程比之前的標準(如 H.264)更復雜,壓縮率更高,解碼需要更多的計算資源。這意味著在一些低端設備上可能會面臨性能問題。

  2. 兼容性。  盡管 H.265 已經得到廣泛支持,但仍然存在一些老舊設備不支持 H.265 的硬件解碼,這就會導致播放器只能使用軟解,會增加 CPU 的消耗。

硬件解碼:顧名思義就是通過硬件進行解碼的計算,通常是 GPU。 軟件解碼:顧名思義就是通過軟件計算解碼,軟件計算主要依靠的是 CPU。CPU 的計算能力相比 GPU 來說弱很多,就會導致 CPU 占用率高,導致設備發熱發燙。

所以在設備相對較好的情況下,無腦使用 H.265 是沒有問題的,如果對于低端設備使用 H.265 可能會帶來性能問題,導致視頻播放卡頓,需要用空間來換時間了。

視頻分辨率

視頻分辨率跟我們平時說的圖像分辨率差不多,主要是指 單位英寸中所包含的像素點數。  可以用長 x *寬的形式表示比如 1280 **  720 的分辨率,也可以以像素點總數的形式表示,比如 200 萬像素(1920 * 1080)。

常見的分辨率:

  • 720 P(1280 * 720)

  • 1080 P(1920 * 1080)

  • 2K(2560 * 1440)

  • 4K(4096 * 2160)

  • 視頻的分辨率與像素不可分,比如一個視頻的分辨率為 1280*720,就代表了這個視頻的水平方向有 1280 個像素,垂直方向有 720 個像素。

  • 另外需要知道的:

    • 720P 是指視頻有 720 行像素, P 是 Progressive 逐行掃描 。

    • 2K 是指視頻像素的總列數  。

    • MP 是像素總數,指像素的行數(P)與列數(K)乘積的結果(百萬像素)  -

    • 1080P 分辨率為 1920 *1080,總像素 2073600,通常將 1080P 叫做 200 萬像素分辨率

  • 通常視頻在同樣視窗的情況下,分辨率越高,所包含的像素就越多,視頻畫面就越細膩、越清晰。

另外需要注意分辨率越大在解析到內存之后占用的內存也會更大,這個原理跟圖片的分辨率對內存的影響是一致的。對于內存優化,通常降低分辨率是一個有效的方式。

視頻幀率

  • 幀率的單位是:FPS 是指每秒幀數(Frames Per Second)簡寫:P,“如 30 fps 和 30 p 指的都是每秒鐘播放 30 張圖片的意思” 。

  • 高低幀率:低幀率會伴隨模糊、卡頓、鏡頭移動時不順暢等問題,但也不是越高越好,會造成眩暈的感覺。

  • 不同幀率的視頻在不同設備上播放: ① 若一個播放設備最高支持 60fps,在此設備上播放 120fps 的影片,則播放設備會每隔一張刪除 120fps 的影片,被刪除的圖片成為無效幀。 這就導致高幀率的影片在低幀率的設備上播放時,會降低播放流暢度。 ② 若一個播放設備最高支持 120fps,在此設備上播放 60fps 的影片,則播放設備會每將每張圖片復制一張,以填補空缺的幀。但是效果和 60fps 的設備上播放一樣,對播放流暢度沒有提升。

幀率是直接影響流暢度的指標,視頻一般 24FPS/25FPS 已經足夠,低于 24 將會感到卡頓。

視頻碼率(視頻比特率)

非常非常重要的一個參數。

碼率就是數據傳輸時單位時間(1s)傳送的數據位數,一般我們用的單位是 kbps 即千位每秒。

碼率與體積的關系:

  • 在相同的時間下,碼率越大,體積就越大。

  • 存儲體積 =    **碼率 ** *   時間

碼率與畫質的關系:

  • 同樣分辨率下,視頻文件的碼率越大,壓縮比就越小,畫面質量就越高。碼率越高,精度就越高,處理出來的文件就越接近原始文件,圖像質量越好,畫質越清晰,要求播放設備的解碼能力也越高。

  • 編碼模式碼率取樣率,單位時間內取樣率越大,精度就越高,處理出來的文件就越接近原始文件,但是文件體積與取樣率是成正比的,所以幾乎所有的編碼格式重視的都是如何用最低的碼率達到最少的失真,圍繞這個核心衍生出來 cbr(固定碼率)、vbr(可變碼率)、abr(平均碼率); CBR: constant bitrate(固定碼率)

  • 以恒定比特率方式進行編碼,有運動發生時,由于碼率恒定,只能通過增大 QP 來減少碼字大小,圖像質量變差,當場景靜止時,圖像質量又變好,因此圖像質量不穩定。

  • 這種算法優先考慮碼率(帶寬)。適合在流式播放中應用。

  • CBR 編碼的缺點在于編碼內容的質量不穩定,容易產生馬賽克。因為對于某些較復雜的圖像比較難壓縮,所以 CBR 流的某些部分質量就比其他部分差。

VBR:variable bitrate(動態碼率)

  • 比特分配根據圖像內容的復雜度進行。如果圖像細節較豐富或者含有大量的運動,則給其分配大一點的碼流,若圖像比較平坦,就給其分配較少的碼流, 這樣既保證了質量,又兼顧帶寬限制。

  • 這種算法適合圖像內容變化幅度較大的情況;

  • 適合的應用場景是媒體存儲,不適合網絡傳輸;

QVBR(Quality Variable Bit rate)質量碼流

  • QVBR 在 VBR 的基礎上,增加了自適應動態質量控制功能。編碼器會根據圖像質量目標和幀率等因素自適應調節碼率,以確保圖像質量。這種編碼方式減少了碼率的小部分波動對圖像質量的影響,進一步提高了圖像的清晰度和穩定性。

  • 優點:能夠在保證畫面質量的前提下減少碼流的波動

  • 缺點:相比 VBR 需要更高的碼率帶寬比。

ABR:average bitrate(平均碼率,是 VBR 的一種插值參數)

  • 是在 CBR 和 VBR 兩者之間的一種權衡,即設定一段時間的平均碼率,在此時間內,對簡單,靜態的圖像分配低于平均碼率的碼率,對于復雜的,大量運動的圖像分配高于平均碼率的碼流;

  • 適合網絡傳輸;

CVBR:Constrained VariableBit Rate(有限碼流)

  • 是 VBR 的一種改進方法,對應的 Maximum bitRate 恒定或者 Average BitRate 恒定。兼顧了 CBR 和 VBR 的優點:在圖像內容靜止時,節省帶寬,有運動發生時,利用前期節省的帶寬來盡可能的提高圖像質量,達到同時兼顧帶寬和圖像質量的目的。這種方法通常會讓用戶輸入最大碼率和最小碼率,靜止時,碼率穩定在最小碼率,運動時,碼率大于最小碼率,但是又不超過最大碼率。

聯系

幀率相關

  • 對視頻畫質的影響:畫面流暢度,不卡頓。

  • 與碼率的聯系:幀率越大,畫面越流暢;每秒展示的畫面(圖片越多),需要的解碼能力越強;若解碼能力跟不上,則編碼器就必須加大對單幀畫面的壓縮比,也就是通過降低畫質來承載足夠多的幀數,畫面容易出現跳躍,不連貫,即丟幀;反之亦然。

碼率

  • 影響體積,與體積成正比:碼率越大,體積越大;碼率越小,體積越小。

分辨率:

  • 影響圖像大小,與圖像大小成正比:分辨率越高,圖像越大;分辨率越低,圖像越小

  • 如果限定一個碼率,比如 800kbps,那么分辨率越高就會讓編碼器越“為難",可以想象,它必須拆東墻補西墻,通過減少色彩信息或者引入馬賽克這種“魚目混珠”的手段來承載足夠多的像素點。所以,同樣的是 2G 的一個電影文件,1080p 畫質的版本可能不如 720p 畫質的版本看起來更清晰。

清晰度:

  • 碼率一定的情況下,分辨率與清晰度成反比關系:分辨率越高,圖像越不清晰,分辨率越低,圖像越清晰。

  • 在分辨率一定的情況下,碼率與清晰度成正比關系,碼率越高,圖像越清晰;碼率越低,圖像越不清晰。

總結

沒有完美的算法,無非是時間和空間的平衡,二者不可兼得。

作為一個開發者,我們需要在用戶的終端性能、網絡、成本等各方面權衡,在不同的場景使用不同的參數的視頻,可以提升用戶的使用體驗,降低公司的成本。

在了解各個參數之后,在對視頻做優化的時候就會游刃有余:

  • 當需要優化視頻傳輸成本,降低視頻的體積,最有效的就是降低碼率,這樣可能會降低清晰度,也可從視頻編碼格式入手,能否將 H.264 升級成 H.265.

  • 當終端設備內存受限,頁面需要播放多個視頻導致內存不夠,首要考慮降低視頻分辨率從而降低內存消耗。

參考文章:


作者:桃翁
鏈接:https://juejin.cn/post/7362196417278066703
來源:稀土掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。



該文章在 2024/4/28 9:19:45 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved