讨论对·MPEG2文件的编辑问题·,熟悉ISO/IEC 13818的朋友,或想深入了解MPEG2的朋友请进。(300分)

  • 主题发起人 主题发起人 qince
  • 开始时间 开始时间
Q

qince

Unregistered / Unconfirmed
GUEST, unregistred user!
这几天看了看友利的会声会影,想和大家讨论讨论以下问题:
1、MPEG2视频如何以I帧方式 拷贝 粘贴 删除
2、MPEG2如何同步实现编辑 视频 和音频
3、MPEG2如何实现编辑 13818的AC3的不同音轨音频
4、MPEG2如何加入字幕

不太了解MPEG2的朋友可以下载一份 ISO/IEC 13813 看看。
 
其实中国做不好VOD的一个主要原因就是对MPEG技术不甚了解,
才导致:
带点不多
播放不稳定等等的许多问题,
所以请大家谈谈MPEG技术的认识,对VOD技术的认识也可以
 
MPEG2文件是不包含字幕的。
DVD字幕是后期加入到VOB文件里的,有他自己的文件格式。
不知道你说的是不是Ulead的添加艺术字的功能,那时最后Render的时候通过filter叠加上去的。
Ulead是基于DirectShow的架构,通过ITimeline来组织视频和音频。
具体关于I桢的那些东西,我就不太清楚了。惭愧。

 
简单介绍一下MPEG:
其实MPEG是由I帧,B帧,P帧组成的
其中I帧是用JPEG压缩的一张整幅图片
B帧是前一帧和后一帧的变化,P帧是前一个I帧和后一个I帧的变化
这种变化由 小波算法,DCT算法,宏算法等等来完成
大体上,MPEG视频这样组成:I B B P B B P B B P B B P B B I
MPEG音频一般是MP3的第二层压缩,
然后视频和音频被打成PES包,用PTS同步,最后组成MPEG文件
 
偶再来说说视频文件名的问题:
其实视频不是由文件扩展名来界定的,而是由文件头来界定的,
比如MPEG文件头就有被称为packet_start_code的标示,也就是0x000001ba
AVI理论上是非压缩视频流,ASF是微软的流媒体文件,他的视频是WMV,Codec是MPEG4
而音频就不是MP3压缩了,而是微软独有的。
所以,好多人都想知道WMA的播放方式。
其实如果你熟悉每一个文件的格式,那么不管给你文件的那一块数据,一般只要大于64K,你都能分辨出文件格式的
 
>>其实如果你熟悉每一个文件的格式,那么不管给你文件的那一块数据,一般只要大于64K,你都能分辨出文件格式的



自定义的包文件怎么办? ^_^ sorry 有点跑题。
 
2 andy263:
哈哈,前提是 你熟悉每一个文件的格式,自定义的偶不熟悉。
 
DirectX 是微软提供的多媒体的一个平台架构。
包括 Direct3D, DirectSound, DirectPlay, DirectPlay 以及DX9.0以后加入的 DirectShow.之前DirectShow是单独存在的。
前面的那些东西都是做游戏必备的。
DirectShow就是主要提供多媒体编程的平台。
DirectShow的体系架构核心思想就是一个完全基于COM标准接口的体系。
只要你编写的组件符合它的接口定义,你编写的东西就可以自动被他识别,并且调用。
最典型的就是多媒体的解码,每个媒体各式的发布商实际上都编写了一个基于DX体系结构的Filter(又标准接口的COM组件),这样在用户的机器上注册了之后,
DX就可以自动的调用该Filter来播放媒体文件。
比如 DivX 或者 XVID, 还后期它的什么。
同样 WMV,ASF 由于也存在不同的编码算法。
所以对于新的格式,也需要下在解码其。
DirectShow中关于媒体编辑,提供了一个DES的框架。
只要是 DirectShow支持的媒体文件,都可以作为它的 Timeline 的源文件加入。
这样就提供了非常灵活的扩展借口。
相当于你用DES作开发的时候,不用去考虑元文件的格式。
DES的核心是 Timeline,就是你在Ulead里面可以看到那个时间轴。
Timeline 是一个XMl节点书。一个Timeline最后输出就是一个媒体文件。
他的直接字节点就是所谓的 MediaGroup.就是媒体文件的一个流,比如Video流,Audio流。
Timeline最后暴露出来的是 IMediaGroup接口。
把Group接口和对应的Encode 组件连接之后,就可以最后生成文件了。
:)差不多就是这样的。里面的东西很细,说来就多了。

 
偶已完成的工作:
将MPEG视频音频分离成图片 和 mp3
计算MPEG最大音量
统计MPEG2播放速率
抽取MPEG I 帧
等等......
 
好东西,qince大虾,可否请教一二,
一、在mpeg1与mpeg2的区分中,包头都是0x000001ba
,可否根据后一位是Ox21或Ox44来判断呢?那有的包头是000001b3呢,
我对ISO/IEC 13813 还没吃透,是否mpeg2的标准就只有这个呢?还有DVD的vob,VCD的dat?
二、在视频播放当中如果一个mpeg2忽然切换到mpeg1时可能会产生花屏或短暂黑屏,这是何故。
 
to yym兄:
1、其实MPEG2是MPEG1的扩展,因为ISO组织考虑到兼容问题,所以MPEG1中的所有,你都能在MPEG2中看到(MPEG2在MPEG1上扩展了很多东西,比如map等),比较0x000001ba是不能区分的,还是比较MPEG2扩展关键字吧。
2、花屏的问题,我没碰到过,你用的是什么播放控件呀?
 
我想问问做mpeg4实时压缩研究这个有用吗?
 
MPEG4 还是研究研究 ISO/IEC 14496 吧,如果你想做实时采集,ISO/IEC的框架只能帮助你了解MPEG4,但是具体到CODEC上,还是要参考他人的源代码,至于哪里找源代码,到LINUX社区看看吧,那里有很多:)
以下是我很久以前整理的,贴出来大家看看:

就上次的两个问题查阅了一些资料,找出如下解释,请参考:

1、ASP(Advanced Simple Profile)的解释:

MPEG-4是以VO(Video Object:物件)为基础的压缩方式,而且比MPEG-1、MPEG-2多了很多新技术,其中一项是ToolBox(工具箱)。

工具箱提供给EnCoder多种可选压缩方案,其中包括:

形状编码 (Shape Coding)
移动估计 (Motion Estimation)与补偿
影像纹理编码 (Texture Coding)
抗错性
Sprite编码
I-VOP、P-VOP
B-VOP
1/4像素动作补偿
等等
他们称为“符合点”(Conformance Points),可协助设计者自由的将系统成本最优化,不会对操作互通性造成任何影响,可为设计人员带来弹性和操作互通性的结合,是产品具有高品质的图像,并且支持不同的多媒体应用。
其中MPEG-4又支持档案(Profiles)和层(Levels),Profiles用来限制解码器必须具备的工具箱,而Levels限制计算复杂度,
常见的Profiles有:
1)、SP(Simple Profile):ToolBox包括:I-VOP、P-VOP、AC/DC预测等
2)、ASP(Advanced Simple Profile):在SP基础上加入B-VOP、1/4像素动作补偿、整体动作补偿
3)、MP(Main Profile):可高达32个VO(物件)与38Mbps,主要用在互动式与娱乐品质的广播
现在DivX5.0已经支持ASP了,但还不支持MP。
 
TO:qince兄,恕小弟脑袋瓜不好使,下面这是你给我的文档,有没有办法详细点,或最好有源码。
MPEG-2为了兼容MPEG-1,文件头部都会有0x000001BA的。
而你说的VCD也分1.0、1.1、2.0,1.0和1.1是为了光驱好定位视频所以将MPEG-1 System Stream由打成每2324个字节一个Pack,而VCD2.0使用了MPEG-2的压缩格式。
MPEG-2分Program Stream和Transport Stream。
给你一个标准文档:
video_stream_descriptor(){
descriptor_tag 8 uimsbf
descriptor_length 8 uimsbf
multiple_frame_rate_flag 1 bslbf
frame_rate_code 4 uimsbf
MPEG_1_only_flag 1 bslbf
constrained_parameter_flag 1 bslbf
still_picture_flag 1 bslbf
if (MPEG_1_only_flag == 1){
profile_and_level_indication 8 uimsbf
chroma_format 2 uimsbf
frame_rate_extension_flag 1 bslbf
reserved 5 bslbf
}
}
其中的:
MPEG_1_only_flag -- This is a 1 bit field which when set to '1' indicates that the video stream contains
only ISO/IEC 11172-2 data. If set to '0' the video stream may contain both ISO/IEC 13818-2 video data and
constrained parameter ISO/IEC 11172-2 video data.
就可以判断出是MPEG-1还是MPEG-2。

比较MPEG2扩展关键字????

第二个问题我是做解压卡播放时,手头上测试文件较少,有一个文件都会。
 
to yym兄:
想起来了,在MPEG系统流中,有一个标志位标示着MPEG1或MPEG2,但是具体那一位,我也忘记了,回去看看:)
你可以看看13818-2,他是写MPEG2系统流的,肯定可以找到的。[:)]
 
过几天,就来多媒体学习,先报个到,让大家认识一下偶!
也替qince顶一下!
不要给我分哦
 
mpeg2中文标准文档已经上传至....,再帮忙提前。
http://www.playicq.com/dispdocnew.php?id=12825
 
文档看了有点头大... 学习学习再来


占各位子 嘿嘿
 
学习中。。。
 
我有一个MPEG2 3分钟的 能正常播放//
但不能拖拽 取出的时间长度是3万多分钟////
请问怎么修复?
 
后退
顶部