如何能将一个没有头信息的MPEG加上一个头来让他播放?(300分)

  • 主题发起人 主题发起人 xinlh
  • 开始时间 开始时间
X

xinlh

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个MPEG2是没有头信息的,我能不能自己加一个头信息?
如果能的话,我应该怎么做,我不想修改这个MPEG2文件,能不能用一个专门的头信息的
MPEG2文件在程序播放前加上这个头,也就是说把有头信息的MPEG2先放进内存中,在程序
播放这个没有头信息的文件时,先把这个头信息从内存中加上,在播放??

如分不够可以加,谢谢大家啦
 
真的没有懂吗???
 
拿一个有头的mpeg2文件来,(要跟你的mpeg2文件的音视频参数相同).把他的头截下来就能用.
 
1,用二进知编辑器(推荐UEdit)打开几个MPEG文件分析一下,
把文件头截下来,修改相关信息(长度,帧速度)(有难度)

简单方法:
1,用超级解霸的MPEG文件合并一下;
2,把你的文件加在一个正常MPEG文件的后面看看!
 
你们说的我都知道的,我也用过了,的确是可以的,但是我现在不想改原来的文件,也就是
说我把头的MPEG2和内容的MPEG2分开,但是我想在程序运行中先把头信息加载,再去读内容
是不是要把头信息MPEG2放到内存中???如果是,我在程序中怎么把头加进去呢?是内
流吗?可是我的播放是先得到MPEG2的句柄,我要怎么做???

谢谢,不够可以加分
 
1.你怎么知道你的mpg是缺了头!并且正好缺了头,而不是缺了其它?
2.你怎么知道把另一个头文件拿来接上就正好?头多长?
 
to vmao:
不瞒你说,你问的问题我还真都知道.关于mpg的结构实在是讨论的太多了.
不过Mpeg2还真没研究过.
 
unsigned char Mpeg4header[] = {
0x30,0x26,0xB2,0x75,0x8E,0x66,0xCF,0x11,0xA6,0xD9,0x0 ,0xAA,0x0 ,0x62,0xCE,0x6C,
0x50,0x2 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x5 ,0x0 ,0x0 ,0x0 ,0x1 ,0x2 ,0xA1,0xDC,
0xAB,0x8C,0x47,0xA9,0xCF,0x11,0x8E,0xE4,0x0 ,0xC0,0xC ,0x20,0x53,0x65,0x68,0x0 ,
0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x60,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x1 ,
0x69,0x4D,0x6F,0x76,0x53,0x43,0xD0,0x33,0x5B,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x90,0xB5,
0x15,0xEA,0x58,0x35,0xC1,0x1 ,0xD6,0x5 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0xE0,0xE1,
0xD0,0x44,0x0 ,0x0 ,0x0 ,0x0 ,0x60,0x1E,0x7 ,0x43,0x0 ,0x0 ,0x0 ,0x0 ,0xB8,0xB ,
0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x2 ,0x0 ,0x0 ,0x0 ,0xA0,0xF ,0x0 ,0x0 ,0xA0,0xF ,
0x0 ,0x0 ,0x28,0x7C,0x6 ,0x0 ,0x91,0x7 ,0xDC,0xB7,0xB7,0xA9,0xCF,0x11,0x8E,0xE6,
0x0 ,0xC0,0xC ,0x20,0x53,0x65,0x94,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0xC0,0xEF,
0x19,0xBC,0x4D,0x5B,0xCF,0x11,0xA8,0xFD,0x0 ,0x80,0x5F,0x5C,0x44,0x2B,0x0 ,0x57,
0xFB,0x20,0x55,0x5B,0xCF,0x11,0xA8,0xFD,0x0 ,0x80,0x5F,0x5C,0x44,0x2B,0x0 ,0x0 ,
0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x46,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x2 ,0x0 ,
0x0 ,0x0 ,0x0 ,0x0 ,0x60,0x1 ,0x0 ,0x0 ,0x20,0x1 ,0x0 ,0x0 ,0x2 ,0x3B,0x0 ,0x3B,
0x0 ,0x0 ,0x0 ,0x60,0x1 ,0x0 ,0x0 ,0x20,0x1 ,0x0 ,0x0 ,0x1 ,0x0 ,0x18,0x0 ,0x4D,
0x34,0x53,0x32,0x0 ,0xA4,0x4 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,
0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x1 ,0x4 ,0x0 ,0x0 ,0x1 ,0x21,0x0 ,
0xC4,0x8D,0x88,0x0 ,0xCD,0xB ,0x4 ,0x24,0x14,0x63,0x91,0x7 ,0xDC,0xB7,0xB7,0xA9,
0xCF,0x11,0x8E,0xE6,0x0 ,0xC0,0xC ,0x20,0x53,0x65,0x68,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,
0x0 ,0x0 ,0x40,0x9E,0x69,0xF8,0x4D,0x5B,0xCF,0x11,0xA8,0xFD,0x0 ,0x80,0x5F,0x5C,
........
.......
 
对不起,上面的是Mpeg4的。
如果你是做流播放,Mpeg2跟Mpeg1差不多,而且每个包比1的更小。
你是做硬解还是软解?
 
他说:“我想在程序运行中先把头信息加载,再去读内容
是不是要把头信息MPEG2放到内存中???如果是,我在程序中怎么把头加进去呢?是内
流吗?可是我的播放是先得到MPEG2的句柄,我要怎么做???


那应该是软解压吧!我也想知道怎么做,请jingtao不吝赐教,关注中......
 
后退
顶部