音視頻知識(shí)體系(基礎(chǔ)篇4)----FLV格式解析

前言

????????首先,我們來(lái)回顧一下直播的整個(gè)鏈路(詳見(jiàn) 音視頻知識(shí)體系(基礎(chǔ)篇1)----媒體格式)。我們最常接觸到的是直播的播放器端,例如,斗魚、虎牙、快手、抖音里面的直播。我們又稱播放器為收流端,技術(shù)上可以看作為流媒體數(shù)據(jù)的接收顯示器。
????????在直播中,F(xiàn)LV格式流數(shù)據(jù)接收仍舊是主流,那我們這篇文章就來(lái)看下如何下載和處理FLV格式的流媒體數(shù)據(jù)。

image.png

1. 準(zhǔn)備工作

????????要先看如何獲取一段flv的流。我們使用ffmpeg工具
ffmpeg -i rtmp://server/live/streamName -c copy out.flv
-i : 指定文件
-c : 指定為音視頻
out.flv 下載下來(lái)的流
如果需要加header驗(yàn)證 加入?yún)?shù) -headers $’Referer: http://trovo.live/app'

2. Flv格式分析

????????FLV視頻格式是Adobe推出的Flash可直接播放的視頻流。需要注意的概念是編碼格式和文件封裝格式。編碼格式是指編碼器輸出的“裸”的視頻流或音頻流,常見(jiàn)的視頻編碼格式就是H.264,常見(jiàn)的音頻編碼格式是AAC和MP3。FLV是一種文件封裝格式,它可以封裝H264和AAC,其他常見(jiàn)的文件封裝格式還有MP4、TS、MKV等等。不同的文件封裝格式可以相互轉(zhuǎn)換,只要把一種文件封裝格式拆包,解出“裸”的視頻流和音頻流,再按另一種文件封裝格式打包,就可以完成轉(zhuǎn)換,不需要重新編碼,因此速度非??臁?/p>

FLV的文件格式定義最權(quán)威的就是Adobe的官方文檔
https://www.adobe.com/content/dam/acom/en/devnet/flv/video_file_format_spec_v10.pdf

總體上看,F(xiàn)LV包括文件頭(File Header)和文件體(File Body)兩部分,其中文件體由一系列的Tag組成。因此一個(gè)FLV文件是如圖1結(jié)構(gòu)。

示意圖

其中,每個(gè)Tag前面還包含了Previous Tag Size字段,表示前面一個(gè)Tag的大小。Tag的類型可以是視頻、音頻和Script,每個(gè)Tag只能包含以上三種類型的數(shù)據(jù)中的一種。圖2展示了FLV文件的詳細(xì)結(jié)構(gòu)。

Flv格式

2.1 Header分析

flv head

----待續(xù)

3. 參考

[1] 多媒體文件格式(二):FLV 格式
[2] FLV視頻文件格式分析(廖雪峰)
[3] https://blog.csdn.net/leixiaohua1020/article/details/17934487

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開(kāi)了第一次的黨會(huì),身份的轉(zhuǎn)變要...
    余生動(dòng)聽(tīng)閱讀 10,798評(píng)論 0 11
  • 彩排完,天已黑
    劉凱書法閱讀 4,452評(píng)論 1 3
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來(lái)的情緒。表情可以傳達(dá)很多信息。高興了當(dāng)然就笑了,難過(guò)就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,445評(píng)論 2 7

友情鏈接更多精彩內(nèi)容