MPEG文件的头信息格式是什么样的?

ares_ding 2001-09-29 10:31:40
大概多少个字节啊?
...全文
635 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
capboy 2002-03-09
  • 打赏
  • 举报
回复
我是使用ts流的.会不断的有的...filter是使用elecard的.
我不论什么时候去播放,都会找到有效的头信息的.
happyprogram 2002-03-07
  • 打赏
  • 举报
回复
To explorer007(KKcat):
厉害,你是从哪里找到的文件头信息的呢?

To capboy:
mpeg2的数据流中有多个文件头信息么?
capboy 2001-10-03
  • 打赏
  • 举报
回复
"如果我没有理解错,所谓的避开头信息实际上是你自己
做一个头信息送入,或者按照你说的,因为会不断地判断,
任何时候传递一个头信息进去就行。不管怎么说都要
传递一个进去啊。"
没有错的。可是你的数据流中总会有的吧。在MPEG2中,基本上我只需要判断1M多就够了。这是个极限植,通常在此之前就可以找到个头信息了。数据是直接从网络发送的。
就是说我播放MPEG2格式是,所有的数据来自网络,包括头信息。之间没有任何的自己加入的信息。不过,我在测试MPEG1格式的时候,发现好象第一个32768不能错的。你们可以自己测试一下。就拿MEMFILE的例子。可以把文件的中间数据给它播放,能够成功的话,因该是可以想MEPG2格式一样的操作了。就要恭喜MPEG1的朋友们了。 
capboy 2001-10-03
  • 打赏
  • 举报
回复
"如果我没有理解错,所谓的避开头信息实际上是你自己
做一个头信息送入,或者按照你说的,因为会不断地判断,
任何时候传递一个头信息进去就行。不管怎么说都要
传递一个进去啊。"
没有错的。可是你的数据流中总会有的吧。在MPEG2中,基本上我只需要判断1M多就够了。这是个极限植,通常在此之前就可以找到个头信息了。数据是直接从网络发送的。
就是说我MPEG2
capboy 2001-10-01
  • 打赏
  • 举报
回复
我的看法是MPEG2的是可以使用的。因为本来MPEG2格式的TS流就是没有头没有尾的。
MPEG1的看来是要第一个32768就要是正确的信息,才能够正确的播放。所以对与MPEG1的看来还是最后自己做个头信息吧。应该是文件的头信息。因为我在做MPEG1的时候,文档说的是这样的。(保存为文件时要自己先写个头信息,然后才是捕捉的数据。)
ares_ding 2001-09-30
  • 打赏
  • 举报
回复
to:explorer007(KKcat) 
不知道你这是整个文件的头还是每个帧的头?
C里面有没有什么方法或者结构处理这个还是需要自己
来填写?

to:Capboy
如果我没有理解错,所谓的避开头信息实际上是你自己
做一个头信息送入,或者按照你说的,因为会不断地判断,
任何时候传递一个头信息进去就行。不管怎么说都要
传递一个进去啊。
我现在要把从网络上收到的MPEG1的流存到文件里面。
但是我发现,接收然后存入文件,几乎所有的
播放软件包括DirectX的Graph Edit都不识别这个文件
而无法播放。传入自己写的网络播放器里面也说
媒体类型不对。测试了一下,拿了一个MPEG1的文件,首先
读入它的头32768个数据,写入新文件,然后再把收到的
信息写进新文件,用其他的播放器就可以播放了。
这样就可以完成视频存储了。
所以我想还是需要做一个函数来生成头信息的。
总不能总是随生带上一个MPEG1一个MPEG2的文件
每次去取头把,而且也不合用的说。


capboy 2001-09-30
  • 打赏
  • 举报
回复
厉害!厉害!!
to :ares_ding.
看我的新文章吧。解决了头信息的问题。
capboy 2001-09-30
  • 打赏
  • 举报
回复
厉害!厉害!!
to :ares_ding.
看我的新文章吧。
explorer007 2001-09-30
  • 打赏
  • 举报
回复
MPEG Video

THIS TEXT CONTAINS ONLY MPEG VIDEO HEADER INFO - BY WILSON WOO
It's only what I know. Please feel free to update it.

Below is information got from someone.

/*****************************************************************/

Sequence Header

This contains information related to one or more "group-of-pictures"

Byte# Data Details
===================================================================
1-4 Sequence header In Hex 000001B3
code
12 bits Horizontal size In pixels
12 bits Vertical size In pixels
4 bits Pel aspect ratio See below
18 bits Picture rate See below
1 bit Marker bit Always 1
10 bits VBV buffer size Minimum buffer needed to decode this
sequence of pictures; in 16KB units
1 bit Constrained
parameter flag
1 bit Load intra 0: false; 1: true (matrix follows)
quantizer matrix
64 bytes Intra quantizer Optional
matrix
1 bit Load nonintra 0: false; 1: true (matrix follows)
quantizer matrix
64 bytes Nonintra quantizer Optional
matrix
- Squence extension Optional
Data
- User data Optional application-dependent data
===================================================================

Aspect raios are defined by a code which represents the height and
width of the Video image.
Picture rates are also defined by a code that represents the number
of pictures that may be displayed each second.

Each group of pictures has a header that contains one "I picture"
and zero or more B and P pictures. The header is concerned with
the time synchronisation for the first picture in this group, and
the closeness of the previous group to this one.

/*****************************************************************/

For picture rate:
1 = 23.976 frames/sec
2 = 24
3 = 25
4 = 29.97
5 = 30
6 = 50
7 = 59.94
8 = 60

Here gives an example. Below is Hex dump of first 256 bytes of
the first Video frame of TEST.MPG from XingMPEG.

00 00 01 B3 16 00 F0 C4 02 A3 20 A5 10 12 12 14
14 14 16 16 16 16 18 18 19 18 18 1A 1B 1B 1B 1B
1A 1C 1D 1E 1E 1E 1D 1C 1E 1F 20 21 21 20 1F 1E
21 23 23 24 23 23 21 25 26 27 27 26 25 29 2A 2A
2A 29 2D 2D 2D 2D 30 31 30 34 34 38 16 00 F0 C4
00 00 01 B8 00 08 00 00 00 00 01 00 00 0A 72 00
00 00 01 01 13 F9 50 02 BC B2 B8 BE 68 8B A4 9F
C5 B5 CA 00 56 76 39 65 F2 30 8B A6 9D 50 69 E7
DA FE 13 CF B7 FF 8F F4 CE 7B FA 0E F0 66 AE 1C
5D E7 00 C8 0A 92 B9 29 3C 21 23 F1 D6 40 13 06
F0 10 10 C6 27 80 A0 34 E1 C8 E4 0F 74 91 DA C4
03 A0 DC 03 12 60 18 49 27 1D D4 BC 67 0E 54 8C
96 FC 5D C0 06 E0 1A 72 11 7C 9A 8D C9 45 89 6D
CD C4 0B 63 DC 90 18 24 00 EC 84 90 18 10 C9 3B
1E A7 60 3C 9D 74 80 76 05 0B 02 81 A9 29 39 68
53 8F 59 F1 BF 93 FB A0 04 01 BC B0 CE 18 E1 25

Sequence header = (Hex) 00 00 01 B3
Horizontal size = 0x160 = 352
Vertical size = 0x0F0 = 240
Pel aspect ratio = [I don't know]
Picture rate = 4 = 29.97 frames/sec
Marker bit = 1

8,324

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧