视频2-视频文件解析和格式说明
視頻2-視頻文件解析和格式說明【轉】
- 1.序
- 2.封裝格式
- 3.視頻編碼格式和音頻編碼格式
- 4.分辨率
- 5.碼率
- 6.幀率
- 7.采樣率
- 8.掃描方式
1.序
前面一章已經介紹了視頻的基礎概念,接下來會重點說明下大家平時比較困惑的一些概念。
先來看一張圖,這個是用某個解析工具,將視頻的相關信息解析出來的:
從上面可以看到一些常見的比如封裝格式,碼率等信息。
2.封裝格式
維基上稱為多媒體封裝格式(Multimedia Container Format,MCF),簡稱封裝格式(也叫容器),就是將已經編碼壓縮好的視頻軌和音頻軌按照一定的格式放到一個文件中。當然一個封裝格式中可以包括一個音頻軌或視頻軌,也可以包含多個音頻軌和多個視頻軌。
舉個栗子說,正常情況下,一個視頻文件(封裝格式),可以只包含一個音頻流信息,也可以包含多個音頻流信息,同時可以只包含一個視頻流信息,也可以包含多個視頻流信息。
之前有碰到過,一個電視直播頻道,前一個時刻播放的是A頻道的內容,后一個時刻播放的是B頻道的內容。最開始以為視頻在轉碼過程中出現了異常,后來才發現是視頻源中包含了兩個音頻流信息和兩個視頻流信息。在播放A頻道內容時,兩組信息都存在;當播放B頻道內容的時候只有一組信息存在。
雖然有些人會針對視頻和音頻組合在一起的封裝格式叫視頻封裝格式,而只有音頻的封裝格式叫音頻封裝格式,但是目前有些人也會將封裝格式就直接叫成“視頻封裝格式”。了解了封裝格式的定義和內容介紹,接下來再舉例有哪些封裝格式(視頻封裝格式):
這里需要注意的是,有些封裝格式由于限制比較多,只能支持某個或某些特定格式的視頻編碼格式和音頻編碼格式;而其他的一些封裝格式能夠支持的范圍就比較廣,也正是因為各種原因,導致不同的封裝格式的占比在不斷地變化中。總體來說,支持范圍廣,耗資源低的視頻封裝格式將受到更多青睞,也會在后續的市場中占有很大的比例。
3.視頻編碼格式和音頻編碼格式
從上圖中可以看到在Video和Audio類別中各有一個Format,分別指的是視頻編碼格式和音頻編碼格式。當解析的視頻文件中有多個音頻和視頻流,則解析出來后將會看到多個。理論上一個視頻文件,其可以包含多個不同類型的視頻流,也可以包含多個不同格式的音頻流。
網路上如果搜索“視頻編碼格式”和“音頻編碼格式”會有很多格式的說明。但這都是從視頻編解碼器和音頻編解碼器衍生過來的說法(或者也可以叫不同的定義說明),像上圖解析出來的音頻編碼格式和視頻編碼格式,內容都是**codec,就是編解碼器的意思。不過,為了減少更多的誤解,這里也采用國內常用的“視頻編碼格式”和“音頻編碼格式”的說法,常見的視頻編碼格式有h264,h265等,而常見的音頻編碼格式有aac等。
當然,眼尖的人會發現,從上圖中標注“視頻編碼格式”,其format為“Advanced Video Codec”,與提到的視頻編碼格式貌似差異有點大。在后續的視頻和音頻編碼格式介紹內容中,再解開謎題。
4.分辨率
在上圖中可以看到由分辨率寬和高即組成了分辨率。關于分辨率還有顯示分辨率和圖像分辨率之說。顯示分辨率主要指比如在計算機屏幕上的最大的顯示區域,以水平和垂直的像素來表示,比如640x480;圖像分辨率主要指圖像本身的信息量,是單位英寸中所含有的像素點,文件的大小與其圖像分辨率的平方成正比(像素=分辨率寬*高)。后面所說的分辨率都主要指圖像分辨率。
將上面兩個概念稍微提下,主要一個是針對視頻的分辨率信息,而另外一個一般是在視頻的播放載體,比如電視等經常會提到。這里只簡要說明,如果有興趣的人,可以搜索顯示分辨率、圖像分辨率,或者類似打印分辨率等,深入了解他們的區別。
5.碼率
音頻或視頻在單位時間內的數據傳輸率,叫碼流或碼率,也有叫比特率的,單位是kbps。了解電信領域的人,對于比特率肯定不陌生,同樣地,在視頻領域中,這個值也相當于帶寬消耗量或吞吐量,也就表征了視頻文件一定的信息量,這頁能很直觀的意識到,在分辨率相同的情況下,碼率越大,視頻文件越大。
提幾個有意思的問題,如果一個源視頻原來是x碼率,然后經過重新編碼,其他數據不變的情況下,設定其碼率為2x,請問:1)輸出文件會變大?2)如果有變化,會有多大的變化?原因是什么?3)這種處理有沒有什么應用場景?感興趣的,可自己驗證下^_^另外,從上圖中可以看到,關于碼率的,還有bit rate mode、bit rate、maximum bit rate,同時還有音頻和視頻的碼率之分,由于內容很多,尤其涉及到bit rate mode的選擇,以及何種分辨率需要配合什么樣的bit rate是最佳的,篇幅略多,這里就不深入討論,后面再更深入說明。
6.幀率
FPS(frames per second),指1s刷新或移動的圖片幀數。幀率越大,視頻越流暢;反之,小到一定程度,畫面將有跳動感。目前很多視頻主要都在25幀左右,因為在這個數值,人眼就已經較難察覺圖像不連續。
目前有些視頻的幀率會較高,比如在30,60等,但是越高幀率的視頻,在播放時可能會存在一定的問題,軟解上會消耗一定的資源,但一般也能正常播放;但如果針對某些硬件,其采用硬解,就可能存在問題。之前就碰到過某個品牌某個型號的電視,最高支持的幀率是50,而當時視頻有60,就導致了聲音畫面不同步。
關于視頻的播放(底層播放器),后面再找個時間細說下吧~
7.采樣率
從上圖中也可以看到,采樣率主要在音頻中說明,那就可以知道這個對于對于音頻的重要性了。
兩個常用的采樣率:
44 100 Hz(44.1K) - 主要應用于音頻CD、MPEG-1音頻(VCD, SVCD, MP3),標準制定于1970s。(這里插一句,模擬音頻采樣率就是44.1K)
48 000 Hz(48K) - miniDV、DVD、DAT、電影和專業音頻所用的數字聲音
很多人都會說哪個好,網路上也各有說法,我給出的說法是it depend ,就看是要在什么場景。對于人耳來說,這兩者的聽覺質量差異很小了,那他們的主要差異是在視頻同步和幀速率。視頻文件中,都是以48KHZ來進行音頻和視頻幀同步,市場上的很多攝像機,其采樣率也是48K。
8.掃描方式
掃描方式主要是指圖像在顯示器上的運動顯示方法,其包括逐行掃描(也叫非隔行掃描),隔行掃描。
隔行掃描,Interlaced,也叫交錯方式,如果有些電視或者解碼器設備沒有做相應的處理,視頻播放過程中將產生花屏現象。因此,在水平應用場景,由于適配的電視和顯示器端多種多樣,為了正常播放,就需要視頻進行反交錯處理(deinterlace),重新編碼輸出。
逐行掃描,Progressive。在當前的很多電視機中,也有將隔行掃描轉化為逐行掃描。
【說明】
文章轉自,華為云社區,作者Higeeon,相關版權解釋權歸原作者所有。https://bbs.huaweicloud.com/blogs/d69574b260ea11e9bd5a7ca23e93a891
總結
以上是生活随笔為你收集整理的视频2-视频文件解析和格式说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小型机上架
- 下一篇: 微软Exchange多个高危漏洞通告