MPEG 时间戳标志的含义(300分)

  • 主题发起人 主题发起人 S3D4
  • 开始时间 开始时间
S

S3D4

Unregistered / Unconfirmed
GUEST, unregistred user!
Mpeg 1 文件从 00 00 01 BA 处偏移
... ...
0800h: 00 00 01 BA 21 00 01 07 65 80 1E 8F 00 00 01 E0
0810h: 07 EE 60 4A 31 00 03 3E 0D 11 00 03 26 97 00 00
... ...

00000806: 01
00000807: 07
00000808: 65
00000810: 07
00000811: EE
00000816: 03
00000817: 3E
00000818: 0D
0000081B: 03
0000081C: 26
0000081D: 97

这些位置分别有什么意义,是不是时间戳标志?如何定义和读取?相关 ISO 文件我怎么搜
索也找不到,能不能给个 Standarddo
cument 看看, www.iso.ch
 
SCR-32 thru 30 , marker_bit 21
SCR-29 thru 15 , marker_bit
SCR-14 thru 0 , marker_bit
marker_bit, mux_rate, marker_bit

到处搜索了一堆资料,MPEG文件首的第二段 00 00 01 BA 的这 32 个字节好像和媒体长度,
大小有关,哪位大侠帮忙看看,

另外: www.iso.org 的文档居然要钱,谁借我点欧元?
 
任何单个的字节或者位都是没有任何意义的。从000001ba后面的确就是时间戳。其后面是
3个时间戳,以及对应的标志位,以及一些别的参数,对于一些000001ba后面,紧跟其时间
戳后还会有系统头的信息,。。
很抱歉,没有现成的document,
 
lvxq 大侠,我在剪切 MPEG 文件过程中,将文件头和后续的几个 00 00 01 BA 段组合以后
生成的 mpeg 文件不能正常播放, 而使用 工具剪切的 mpeg 文件(可以正常播放)和我自
己剪切的文件就是以上提到的那 32 个字节有那么几点区别,我现在完全不了解这些字节的
具体含义,您了解吗,需要我提供原始文件和我剪切的文件吗?
 
最近出了本新书,详细讲解了MPEG的解码,VC的,很详细,去看看吧
 
如果你用媒体播放器来播放你新生成的文件,那指定是不行的,但是如果你在你生成的
文件头上加上RIFF的一些字节,那播放可能是可以的,如果还不行,那可能确实需要修改
和重新组成时间戳了。
 
lvxq 大侠,记得您说过在剪切MPEG过程中,需要保证从 I 帧开始和结尾,否则会导致解码
的错误累计造成马赛克,直至另外一个 I 帧,我想问您的是,如何区分 I B P 帧?
 
本贴的问题我发现一个十分投机取巧的办法,虽然我不知道时间戳的算法和定义,但是我
可以复制一个比较长的MPEG文件的时间戳信息过去,这样的话MPEG文件就可以播放了,美
中不足是无法得知确切的媒体时间长度,各位老师觉得这种方法可行不可行?
 
惨 惨 惨
Xing Player 勉强可以播放,但是马赛克严重
Windows DirectShow 依然是 Render File 报错
 
00 00 01 BA 系统头标志
后面的为
12bit宽
12bit高
4bit视频比
4bit帧率
18bit数据流大小
等等……
可以联系我breathsky@sohu.com,不要发垃圾邮件
 
Hi BreathSky,

你好,太谢谢了,不过您所说的好像是 00 00 01 B3 开始的标识吧,而我需要知道的
00 00 01 BA 后面的标识,你可以把01 BA后面的字节内容说给我知道吗?
 
多人接受答案了。
 
「00 00 01 b3 」はシステムのHeadですよね。時間の計算する方は下記です。
FileSize/75/2352 = 何秒間
I FRAME のフラグ, 「00000100」を検索する、そのあとには該当フラグがある。
 
 
后退
顶部