亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 基礎知識 > 正文

PMP格式詳解

2020-10-28 20:22:21
字體:
來源:轉載
供稿:網友
PMP格式詳解:著名的jonny設計了PMP格式,讓大家可以使用小P來欣賞到高質量的影音; 
但隨著版本的推進,出現了PMP1.0, PMP2.0, PMP-AVC, 這些名詞和概念可能讓大家感到很困惑,現在,我根據我的研究和理解來給大家解釋一下這些名詞的意思。 

【PMP格式】 
PMP是jonny設計的視頻音頻封裝格式,如同AVI一樣,只是一種封裝的容器格式 
PMP格式現在只有兩個版本,一個是1.0, 一個是2.0 

PMP1.0是一個比較簡陋的版本,只支持封裝MP4V流(xvid, divx)和MP3流(而且要求是CBR的,采樣率為44100), 
從文件頭開始,順序結構如下: 

4字節:一定是"pmpm",pmp的標志; 
4字節:版本號,為0,表示版本是1.0 
4字節:視頻幀總數 
4字節:視頻寬度 
4字節:視頻高度 
4字節:視頻scale 
4字節:視頻rate , 注意:視頻的幀率fps = rate/scale 
4字節:最大視頻幀的大小 
視頻幀總數×4個字節:每幀視頻的索引,每個索引4個字節,最低一個bit位表示是否關鍵幀,其余的31位bit表示幀的大小 
視頻數據:字節數,由上面的索引計算可以得出; 
4個字節:音頻幀的數據大?。ㄓ捎诓捎玫氖莄br模式,所有的音頻幀數據大小一樣,但關鍵幀的大小比普通幀大小多一個字節) 
4個字節:音頻幀的總數 
音頻幀總數×1個字節:每幀音頻的索引,每個索引1個字節,關鍵幀為1,普通幀為0,注意:每幀的實際大小=音頻幀的數據大小+索引值; 
音頻數據:字節數,由上面的索引計算得出; 

從上面的分析來看,PMP1.0格式有很大的不足,沒有視頻和音頻的標志位,也就是說,固定死了視頻和音頻的編碼格式,無法封裝各式的流, 
同時,由于視頻和音頻數據是非交錯存儲,播放程序在回放的時候,文件指針在來回地移動,讀視頻幀的時候移到前面,讀音頻幀又移到后面; 

PMP2.0開始,jonny估計意識到1.0的不足,重新設計了文件的格式結構,我個人認為這個改變很不錯: 
從文件頭開始,順序結構如下: 

4字節:一定是"pmpm",pmp的標志; 
4字節:版本號,為1,表示版本是2.0 
4字節:視頻格式標志,這是一個改進,為支持封裝各種視頻流提供保證,0表示MP4V流(xvid, divx),1表示AVC流(PMP-AVC其實就是PMP2.0格式,只不過封裝了AVC流) 
4字節:視頻幀總數 
4字節:視頻寬度 
4字節:視頻高度 
4字節:視頻scale 
4字節:視頻rate , 注意:視頻的幀率fps = rate/scale 
4字節:音頻格式標志,同樣為了以后支持封裝各種音頻提供保證,現在只支持mp3流,該值為0; 
4字節:包含的音頻流數量,為支持多音軌封裝提供了保證,如果一個pmp中封裝了兩條音軌,該值就為2 
4字節:每幀視頻附帶的音頻幀的最大數,由于PMP2.0采用了視頻音頻交錯存儲的方式,一幀視頻和相應的幾幀音頻放在一起,這是一個最大值; 
4字節:音頻scale,默認為1152 
4字節:音頻rate,默認為44100 
4字節:音頻是否立體聲,0表示單聲,1表示立體聲; 
視頻幀總數×4個字節:每幀視頻的索引,每個索引4個字節,最低一個bit位表示是否關鍵幀,其余的31位bit表示幀的大小(注意,這里的幀大小和1.0格式的幀大小不一樣,看下面的解釋) 
視頻音頻混和數據:這里,jonny做了一個比較有意思的設計,把1個視頻幀和其相應的音頻幀混合起來,當做一個數據幀;那究竟怎么個混合法呢,我們分析一下: 
首先計算每個視頻幀的時間戳和每個音頻幀的時間戳,videotime = videonum / videofps , audiotime = audionum / audiofps (videonum和audionum都從0開始) 
那么第一個視頻幀的時間戳就是0/videofps =0,而第二個視頻幀的時間戳就是1/videofps ,然后,把第一個視頻幀和所有時間戳小于1/videofps的音頻幀接在一起,成了一個數據幀,如此類推下去; 
然后在每個數據幀的前面再加上n個字節, n=1+4+4+4+4×每音軌被混合的幀數×音軌數, 
其中這n個字節的意義如下: 
1字節:本數據幀中,每音軌被混合的幀數; 
4字節:被混合的第一個音頻幀和視頻幀之間的時間差; 
4字節:被混合的最后一個音頻幀和視頻幀之間的時間差; 
4字節:視頻幀的大小; 
4×每音軌被混合的幀數×音軌數:每個被混合的音頻幀的大小 

【PMP的播放】 
從上面的分析,我們知道,PMP有兩種格式(1.0,2.0),又由于2.0格式中封裝的流不一樣,出現了所謂pmp2.0和pmp-avc的不同; 
所有,我們需要不同的播放器(pmp-mod1, pmp-mod2, pmp-avc)來播放這些文件; 

由于pmp1.0和pmp2.0格式文件的差異太大,在小p上如果要實現同時支持這兩種的話,代碼編寫會比較復雜,效率可能也會因此降低 
同時由于pmp1.0格式的不足,我建議大家放棄pmp1.0格式,原有的pmp1.0格式的片子可以通過remux轉成2.0格式; 
至于pmp-mp4v和pmp-avc文件,我個人認為,他們是可以放在一個程序中支持的,因為他們的封裝是一樣的,只是里面的流不一樣而已; 
只需要通過對不同解碼器的解碼即可。 

【后話】 
寫這篇東西的目的就是希望能讓大家了解到pmp的各種格式的區別. 
我希望自己有時間和能力來給大家做一個pmp-mod,支持pmp2.0(包括pmp-mp4v,pmp-avc),但實際上,我現在的工作比較繁忙,沒有太多精力來編寫這個。 
所以,寫這個的另一個目的是分享我的研究,希望能有技術高手能通過這篇東西,寫出一個新的pmp-mod,支持pmp2.0格式的播放(包括pmp-mp4v和pmp-avc)。
上一篇:obj格式簡介

下一篇:不同語言的URLEncode

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97涩涩爰在线观看亚洲| 奇米一区二区三区四区久久| 久久影院资源站| 在线色欧美三级视频| 亚洲天堂免费在线| 精品爽片免费看久久| 亚洲欧美国产精品| 精品久久在线播放| 欧美日韩另类视频| 亚洲毛片一区二区| 亚洲欧美综合v| 亚洲毛茸茸少妇高潮呻吟| 91成人精品网站| 亚洲乱码国产乱码精品精天堂| 久久91亚洲人成电影网站| 黑丝美女久久久| 午夜精品久久久久久久99黑人| 欧美亚洲在线观看| 欧美专区在线观看| 精品国产欧美一区二区三区成人| 成人亚洲激情网| 国产在线视频2019最新视频| 亚洲自拍中文字幕| 亚洲精品一区久久久久久| 国产精品1区2区在线观看| 欧美激情免费在线| 亚洲国产精品国自产拍av秋霞| 欧美性猛交xxxx乱大交| 色午夜这里只有精品| 97色在线播放视频| 亚洲女同性videos| 97激碰免费视频| 亚洲成人久久电影| 国产精品久久久久久久久| 欧美三级免费观看| 国产视频久久久久| 午夜精品一区二区三区av| 91精品久久久久久久| 国产日韩精品在线| 97超碰蝌蚪网人人做人人爽| 国内精品小视频| 欧美日韩国产中文字幕| 奇米一区二区三区四区久久| 精品国偷自产在线视频| 日韩免费av片在线观看| 欧美日本中文字幕| 亚洲自拍小视频| 自拍视频国产精品| 日韩成人小视频| 精品久久久久久久久久| 91免费综合在线| 亚洲国产另类 国产精品国产免费| 爱福利视频一区| 亚洲精品久久久久中文字幕欢迎你| 欧美国产日韩二区| 久久成人人人人精品欧| 国产精品人人做人人爽| 色老头一区二区三区| 久久综合伊人77777蜜臀| 91精品国产91久久久久久最新| 国产精品视频一区二区三区四| 欧美激情成人在线视频| 成人情趣片在线观看免费| 久久久久国产精品免费网站| 国产精品黄视频| 欧美高清视频在线播放| 最近的2019中文字幕免费一页| 欧美在线不卡区| 亚洲最大av网| 亚洲sss综合天堂久久| 久久人人看视频| 不卡av日日日| 韩国视频理论视频久久| 久久亚洲精品小早川怜子66| 欧美激情视频播放| 色综合影院在线| 国产精品一区二区三区久久| 综合国产在线观看| 亚洲影视中文字幕| 日韩中文字幕第一页| 国产精品老牛影院在线观看| 色偷偷av亚洲男人的天堂| 亚洲午夜未满十八勿入免费观看全集| 国产精品高潮在线| 国产精品综合久久久| 日韩毛片中文字幕| 成人在线国产精品| 日韩动漫免费观看电视剧高清| 3344国产精品免费看| 亚洲www在线观看| 日本久久91av| 亚洲免费精彩视频| 欧美另类极品videosbestfree| 亚洲国产精品电影| 黑人巨大精品欧美一区二区一视频| 国产精品久久久久久久久影视| 国产精品精品视频一区二区三区| 国产ts人妖一区二区三区| 亚洲午夜国产成人av电影男同| 国产精国产精品| 日韩在线观看成人| 国内精品视频久久| 日韩在线视频一区| 亚洲天堂免费观看| 在线丨暗呦小u女国产精品| 韩国福利视频一区| 国产视频精品va久久久久久| 91亚洲国产成人久久精品网站| 米奇精品一区二区三区在线观看| 欧美日韩另类视频| 中文字幕九色91在线| 日韩欧美中文字幕在线观看| 精品成人av一区| 国产不卡av在线免费观看| 中文字幕久热精品在线视频| 久久综合色88| 国产精品美女免费视频| 欧美中文字幕视频在线观看| 国内揄拍国内精品少妇国语| 亚洲白拍色综合图区| 1769国内精品视频在线播放| 亚洲无亚洲人成网站77777| 国产精品成人av性教育| 亚洲欧美日韩在线高清直播| 国产成人精品综合| 久久久黄色av| 国产精品日韩欧美| 久久久免费精品视频| 亚洲午夜未满十八勿入免费观看全集| 国产成人91久久精品| 美女国内精品自产拍在线播放| 欧美在线视频一二三| 亚洲欧美国产日韩天堂区| 久久精品99无色码中文字幕| 国语自产在线不卡| 国产在线精品一区免费香蕉| 欧洲亚洲女同hd| 日韩精品高清视频| 插插插亚洲综合网| 国产精品羞羞答答| 国产精品成人一区二区三区吃奶| 欧美不卡视频一区发布| 啪一啪鲁一鲁2019在线视频| 91国产视频在线| 亚洲成人网在线| 成人精品视频久久久久| 国产日韩欧美中文| 国产精品三级网站| 97在线观看视频国产| 国产精品极品尤物在线观看| 日韩最新中文字幕电影免费看| 欧美丰满少妇xxxxx做受| 久久久久国产视频| 精品国产91乱高清在线观看| 日韩亚洲成人av在线| 欧美日韩精品在线播放| 成人精品在线视频| 国产精品久久久久秋霞鲁丝| 国产精品久久久久久久天堂| 亚洲经典中文字幕| 亚洲一区二区三区成人在线视频精品| 久久综合久中文字幕青草| 91高清视频在线免费观看| 日本中文字幕不卡免费|