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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

将h.264视频流封装成flv格式文件(一.flv格式)

發布時間:2025/3/21 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将h.264视频流封装成flv格式文件(一.flv格式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原帖地址:http://blog.csdn.net/yeyumin89/article/details/7932368

?

原帖雖然貴為好貼,看感覺看起來有點亂,沒有層次感,貼過來,修改下格式,閱讀起來方便。

一、綜述:

?

flv文件的格式其實網上資料還是不少,但是怎么封裝成flv卻不多??戳瞬簧儋Y料,找到了一個覺得還比較靠譜的:http://www.cnblogs.com/chef/archive/2012/07/18/2597279.html

其實flv還是挺簡單的一個視頻格式,下面就來先談一談FLV的格式吧。

?

FLV是一個二進制文件,簡單來說,其是由一個文件頭(FLV header)和很多tag組成(FLV body)。

tag可以分成三類:audio,video,script,分別代表音頻流,視頻流,腳本流。

每個tag由tag header和tag data組成。

?

二、FLV header + FLV body

1. flv header (9個字節)

?

前3個bytes是文件類型,總是“FLV”,也就是(0x46 0x4C 0x56)。

第4btye是版本號,目前一般是0x01。

第5byte是流的信息,倒數第一bit是1表示有視頻(0x01),倒數第三bit是1表示有音頻(0x4),有視頻又有音頻就是0x01 | 0x04(0x05),其他都應該是0。

最后4bytes表示FLV 頭的長度。

2.FLV body?

? ? ? ?FLV header后面就是FLV body,FLV body由若干個tag 組成。

? ? ? ?每個tag由pre?tag?size(4Byte)??+??tag?header(11Byte)?+?tag?data ?3部分組成。

2.1 pre tag size (4字節):

? ? ? 代表上一個tag的長度。

2.2 tag header(11字節):

? ? ? 第1個byte為記錄著tag的類型,音頻(0x8),視頻(0x9),腳本(0x12);

? ? ? 第2到4bytes是數據區的長度,也就是tag data的長度;

? ? ? 再后面3個bytes是時間戳,單位是毫秒,類型為0x12則時間戳為0,時間戳控制著文件播放的速度,可以根據音 ? ? ? ? 視頻的幀率類設置;

? ? ? 時間戳后面一個byte是擴展時間戳,時間戳不夠長的時候用;

? ? ? 最后3bytes是streamID,但是總為0。

? ? ? tag header 長度為1+3+3+1+3=11。

?

? ? ?例如:

? ? ?此tag為script類型的header

? ??

?

2.3 tag data

2.3.1 音頻數據類型:

第一個byte記錄audio信息:08

前4bits表示音頻格式(全部格式請看官方文檔):

·0 -- 未壓縮

·1 -- ADPCM

·2 -- MP3

·4 -- Nellymoser 16-kHz mono

·5 -- Nellymoser 8-kHz mono

·A -- AAC

下面兩個bits表示samplerate:

·0 -- 5.5KHz

·1 -- 11kHz

·2 -- 22kHz

·3 -- 44kHz

下面1bit表示采樣長度:

·0 -- snd8Bit

·1 -- snd16Bit

下面1bit表示類型:

·0 -- sndMomo

·1 -- sndStereo

之后是數據。

?

2.3.2 視頻數據類型:

第一個byte記錄video信息:09

前4bits表示類型:

·1-- keyframe

·2 -- inner frame

·3 -- disposable inner frame (h.263 only)

·4 -- generated keyframe

后4bits表示解碼器ID:

·2 -- seronson h.263

·3 -- screen video

·4 -- On2 VP6

·5 -- On2 VP6 with alpha channel

·6 -- Screen video version 2

·7 -- AVC (h.264)

之后是數據。

?

如果是AAC和AVC的音視頻,則在放入數據前有一個音頻和視頻的配置信息需要寫入前兩個tag,等會再說。

?2.3.3 腳本數據類型:

該類型Tag又通常被稱為Metadata(元數據) Tag,會放一些關于FLV視頻和音頻的參數信息,如duration、width、height等。通常該類型Tag會跟在File Header后面作為第一個Tag出現,而且只有一個。

一般來說,該Tag Data結構包含兩個AMF包。AMF(Action Message Format)是Adobe設計的一種通用數據封裝格式,在Adobe的很多產品中應用,簡單來說,AMF將不同類型的數據用統一的格式來描述。

第一個 AMF包封裝字符串類型數據,用來裝入一個“onMetaData”標志,這個標志與Adobe的一些API調用有,在此不細述。

第二個AMF包封裝一個數組類型,這個數組中包含了音視頻信息項的名稱和值。具體說明如下,大家可以參照圖片上的數據進行理解。

第一個AMF包:

?第1個字節表示AMF包類型,一般總是0x02,表示字符串,其他值表示意義請查閱文檔。

? 第2-3個字節為UI16類型值,表示字符串的長度,一般總是0x000A(“onMetaData”長度)。

? 后面字節為字符串數據,一般總為“onMetaData”。

第二個AMF包:

?第1個字節表示AMF包類型,一般總是0x08,表示數組。

? 第2-5個字節為UI32類型值,表示數組元素的個數。

? 后面即為各數組元素的封裝,數組元素為元素名稱和值組成的對。表示方法如下:

???第1-2個字節表示元素名稱的長度,假設為L。

???? 后面跟著為長度為L的字符串。

???? 第L+3個字節表示元素值的類型。

???后面跟著為對應值,占用字節數取決于值的類型。

?

?

到此flv格式的解析就差不多了,如有寫錯的地方請指出。

?

附上一個網友寫的flv的查看工具:http://download.csdn.net/detail/yeyumin89/4534822?

總結

以上是生活随笔為你收集整理的将h.264视频流封装成flv格式文件(一.flv格式)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: youjizzcom日本| 欧美亚洲激情视频 | 女女h百合无遮涩涩漫画软件 | 日韩精品电影在线 | 91精品欧美一区二区三区 | 日韩欧洲亚洲AV无码精品 | 国产主播一区 | 亚洲欧洲成人在线 | 欧美一区二区三区激情啪啪 | xxav在线| 亚洲av综合一区二区 | 51精品国产人成在线观看 | 色乱码一区二区三区在线男奴 | 国产成人在线免费观看 | www国产www | 久久一线 | 精品三区 | 色视频网址 | 国产成人aaa| 亚洲天堂网在线观看视频 | 大乳丰满人妻中文字幕日本 | 日本视频在线免费 | 美女久久久| 日本一区久久 | 国产欧美激情 | 国产内射一区二区 | 中文字幕人妻丝袜乱一区三区 | 狠狠摸狠狠操 | av在线导航 | 不卡在线| 日韩av无码中文字幕 | 夜夜操影院 | 中国国语农村大片 | 男人的天堂va | 午夜精品一区二区三区在线播放 | 99久久亚洲精品日本无码 | 一区二区三区在线观看免费 | 日日人人| 三上悠亚 电影 | 亚洲成人经典 | 日本精品一区二区 | 亚洲天堂岛 | 一区二区三区欧美在线 | 四季av在线一区二区三区 | 涩涩涩涩av | 欧美不在线 | 中文字幕av不卡 | 自拍偷拍国产精品 | 毛茸茸日本熟妇高潮 | 欧美一级性片 | 亚洲人成小说 | 美女扒开腿让男生桶 | 亚洲第八页 | 精品久久精品 | 日本高清在线一区 | 成人午夜网站 | 五月婷婷中文 | 亚洲美女色 | 国产一级自拍视频 | 婷婷六月激情 | 亚洲av永久无码精品一区二区国产 | 日韩精品一区二区三区av | 特级做a爱片免费69 少妇第一次交换又紧又爽 亚洲大胆人体 | 大桥未久视频在线观看 | 超碰99在线 | 蜜臀av免费一区二区三区水牛 | 噜噜色图| 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 国产视频黄色 | 中文字幕av久久爽一区 | 本站只有精品 | 日韩污视频在线观看 | 探花一区| 国产欧美激情视频 | 国产一卡二卡三卡 | 日韩性av| 久草视频免费看 | 熟女少妇一区二区 | 欧美影视一区二区三区 | 五级毛片 | 国产精品午夜一区二区 | 青青国产在线观看 | 影音先锋蜜桃 | 夜夜操女人 | 污污网站在线看 | 欧美极品一区二区 | 香港三级韩国三级日本三级 | 国产麻豆电影在线观看 | 秋霞午夜影院 | 极品美女开粉嫩精品 | 制服丝袜第一页在线观看 | 波多野结衣加勒比 | 日韩成人免费观看 | 捆绑japanhdxxxxvideos| 亚洲夜夜爱 | 丰满人妻综合一区二区三区 | 欧美一区综合 | 天堂网一区二区三区 | 国产又粗又猛又爽又黄91 |