一英融、視頻常識
視頻的編碼
錄屏產生的圖像信號蔑祟,經過有損壓縮才成為視頻寞埠,這個過程叫視頻的編碼,通常使用的編碼格式有H.264通贞、H.265(HEVC)等
視頻流
為了方便實時觀看視頻而不需要下載整個視頻文件再觀看朗若,H.264編碼將視頻分割成一個一個小數據包,每個數據包內包含了幾秒的視頻昌罩,這樣一個個連續(xù)的數據包被稱為視頻流(video stream)哭懈,將所有的視頻流按次序合并,加上時間信息茎用,再經過封裝遣总,就成為了普通的視頻文件。直播端錄制視頻信號轨功、編碼并發(fā)送給直播網站服務器的過程被稱為”推流“旭斥。
視頻文件格式(封裝格式)
我們平時所說的mp4、mkv等文件格式實際上指的是封裝格式夯辖,是將視頻琉预、音頻、字幕以及其它信息“打包”的手段蒿褂,打包好的視頻即為我們平時所看到的視頻文件圆米。
視頻的硬件編/解碼及軟件編/解碼
視頻流需要被重新轉換為視頻信號才能顯示在屏幕上,這個過程叫解碼啄栓。編/解碼過程通過專用硬件(通常是顯卡的視頻模塊)直接解碼被成為硬件解碼娄帖,通過CPU進行編/解碼被成為軟件編/解碼,硬件解碼速度快昙楚、功耗低近速,如視頻是常用、標準格式(如h.264),推薦使用硬件編削葱、解碼奖亚。
視頻有損壓縮及碼率
視頻的有損壓縮在一定程度的畫質的同時,可以顯著降低視頻體積(在畫質下降程度不大的同時析砸,壓縮率最低可至5%~10%)昔字。視頻及圖像有損壓縮的基本原理是丟棄人眼覺察不到的、變化不大的視頻信號首繁,保留對比強烈的作郭、容易覺察的視頻信號,在壓縮率比較大時弦疮,圖像容易出現輪廓邊緣模糊夹攒、出現偽輪廓缤谎、顏色失真等現象帖努。視頻的碼率又叫比特率(bit rate)朗儒,指的是視頻一秒鐘的數據數量啡直,單位是Mbps(M bit per second),和我們通常表示寬帶帶寬的100M辜荠、50M等的單位相同,碼率數值除以8就得到了網絡傳輸速度的數值,如100Mbps等價于12.5MB/s的網速伺糠,碼率10Mbps的視頻每秒鐘的大小是1.25MB。碼率可以一定程度上衡量視頻的質量斥季,不難理解训桶,碼率越高的視頻包含的信息越多,也越清晰酣倾,但是碼率不是衡量視頻質量的絕對標準舵揭,在之后的章節(jié)會解釋。在動態(tài)比特率(VBR)的視頻中躁锡,視頻的比特率并不是恒定的午绳,畫面含有色彩變化較多的片段會有較高的比特率以保證畫質,相反則降低比特率避免硬件資源浪費映之。視頻碼率須低于網絡帶寬才能流暢觀看拦焚。
二、視頻的錄屏杠输、編輯中的編解碼赎败、碼率及畫質損失問題
每一次視頻進行有損壓縮時,視頻的“信息量”都會損失蠢甲,丟失的信息量是沒有辦法重新取得的僵刮,因此,視頻在經過多次編碼、解碼后搞糕,畫質就會嚴重下降勇吊,在處理視頻問題時,要時刻注意分析視頻在什么環(huán)節(jié)發(fā)生編窍仰、解碼萧福,盡量減少視頻編碼的次數以保留視頻的信息量。
下面是一些典型場景的編辈赋、解碼分析
在客戶端錄屏
直播端的OBS軟件(編碼)并將視頻流發(fā)送給B站服務器----客戶端從B站服務器獲得視頻流并顯示在屏幕上(解碼)----錄屏軟件錄制屏幕視頻信號并保存成視頻(編碼)
使用PR鲫忍、愛剪輯等常用剪輯軟件對視頻進行剪輯
視頻被剪輯軟件(解碼)成視頻信號----拼接、加特效---渲染成視頻文件(編碼)
也就是說钥屈,通過直接錄屏獲得的視頻文件經歷了兩次編碼悟民,通常操作者在錄屏時防止畫質下降得太多,會選擇用較大的碼率篷就,然而畫質下降仍然是不可避免的射亏,這個時候,錄屏的視頻文件不僅畫質差竭业,體積還大智润,下載、儲存和觀看都會比較麻煩未辆,如果再加上一次使用常用剪輯軟件剪輯窟绷,那就經歷了三次編碼,畫質更差咐柜,體積更大兼蜈。
防止視頻畫質下降和體積膨脹的關鍵點在于:如何直接獲得及編輯原始視頻流(直播端發(fā)送的視頻流),對原始視頻流進行操作拙友。
三为狸、解決方案
錄制:
1、(推薦)使用B站錄播姬直接獲取原始視頻流(官方網站:https://rec.danmuji.org/)遗契,支持自動錄制辐棒、多直播間同時錄制
2、在直播端的OBS軟件設置保存視頻流牍蜂。
剪輯:
1漾根、(推薦)使用格式工廠的視頻分割、合并功能捷兰,一定要勾選復制流選項立叛。
2、使用FFMPEG贡茅,-vcodec參數使用copy
(這兩個方法不可避免地會導致截取的時間只能以數秒為單位秘蛇,不能精確到幀)