找回密码
 注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

扫一扫,访问微社区

快捷导航
事务所专题-柯南20周年纪念事件簿
搜索
查看: 1016|回复: 4
打印 上一主题 下一主题

[求助]在播放某些AVI的时候有点问题

[复制链接]

杯户中学生

0

主题

0

好友

2

积分

 

升级
3%
帖子
162
精华
0
积分
2
威望
0
RP
0
金钱
0 柯币
人气
2 ℃
注册时间
2003-11-23
跳转到指定楼层
顶楼
发表于 2004-6-6 03:03:58 |只看该作者 |倒序浏览
总是有这样的一个信息= =+

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 新浪微博登陆

西之服部

技术区荣誉版主
EMULE分流组荣誉成员
投靠撒旦的耶和华
败家的VIP

0

主题

0

好友

611

积分

 

升级
11%
帖子
1618
精华
0
积分
611
威望
28
RP
1418
金钱
2865 柯币
人气
2 ℃
注册时间
2003-10-14
沙发
发表于 2004-6-6 10:13:16 |只看该作者

回复:

如果你是正常的FTP下载的话可能是解码器的问题,装个新的FFDSHOW

如果你这个文件是BT下载的,不排除是文件没完全下载完,文件出错的可能性
人生只得一半,他在人世间寻寻觅觅的就是那另一半,它的名字就叫爱情......
不管未来不管我们分离 或相守
只要你一直把我放在心中
只要彼此一直住在对方心里
那就是最伟大的爱情
回复

使用道具 举报

最后的银色子弹

VIP
大塚爱命
技术区元老
网页部元老成员
资源情报科荣誉成员
APTX-4868 N助教
事务所压制组成员
事务所分流组荣誉成员
发霉的事务所字幕组组长
事务所最懒得做特效的小N

3

主题

60

好友

4915

积分

 

帖子
14467
精华
4
积分
4915
威望
343
RP
11068
金钱
20150 柯币
人气
1272 ℃
注册时间
2002-8-18
板凳
发表于 2004-6-6 22:26:42 |只看该作者

回复:

很正常~~记得是早期的压制码的关系~~~往往都是视频开始的第1贞~~不影响播放~~
僕はいつでもゆきりん推し!ほらチームB!「夢中にさせちゃうぞ」
回复

使用道具 举报

杯户中学生

0

主题

0

好友

2

积分

 

升级
3%
帖子
162
精华
0
积分
2
威望
0
RP
0
金钱
0 柯币
人气
2 ℃
注册时间
2003-11-23
地板
发表于 2004-6-6 23:41:35 |只看该作者

回复:

怎样压制才能避免这个情况= =
回复

使用道具 举报

杯户小学生

0

主题

0

好友

0

积分

 

升级
0%
帖子
2
精华
0
积分
0
威望
0
RP
0
金钱
1 柯币
人气
12 ℃
注册时间
2003-11-5
5
发表于 2004-6-7 01:51:49 |只看该作者

回复:

packed bitstream 是 DivX 设计的,因为他们发现在 AVI 里面放 B-frame,会造成严重的影音不同步的问题,为了要解决这个问题,所以他们设计了 packed bitstream。

AVI当初设计的时候并没有考虑会有 B-frame ,它的sequence order是循序的,也就是
1 2 3 4 5 6 7 8
I B P B P B P B ....

然而播放的时候,读入 2B 并不能立刻解码播放,要等下一个 3P 被读进来解码完毕以后,才能解码 2B,因为 B-Frame是双向参考的,2B需要参考它后面的 3P,在 3P 还没有解码完之前,我们也就无法解码 2B。

因此就会造成一个解码的 lag,解码的延迟,所以解码会变成这样

代码:------------------------------------------------------------------------
1 2 3 4 5 6 7 8
I B P B P B P B ....  <-- 输入
I B P B P B P B ....  <-- 输出
-----------------------------------------------------------------------------

往后 delay 一个 frame,在 3 的时间点,读入 3P,于是便可以输出 2B。
所以用 VFW Codec(xvidvfw.dll) 去解码这种 AVI,第一个画面会显示英文「警告,无法输出画面,因为 B-frame解码延迟」。

用 DirectShow Filter(xvid.ax) 播放时,XviD 的 DShow 有设计过,不会输出这个画面,所以我们看不到,而 VFW Codec 因为 VFW 限制的关系,一定会输出这个画面。但是不管有没有这个画面,都会延迟一个 frame,所以会造成影音不同步,由于只有差距一个 B-frame,所以不注意听的话可能不会察觉,但是仔细听的话就会发现。


DivX 的设计者为了解决这个问题,提出了packed bitstream,把 B-frame 和它要参考的 P-frame 包在一起,变成下面这个样子

--------------------------------------------------------------------------------
1  3 2       5 4       7 6
I [P|B] [n] [P|B] [n] [P|B] ....
--------------------------------------------------------------------------------

[n] 是 null,空的 frame。

解码器遇到 packed bitstream,就知道 P 跟 B 是包在一起的,中间有一个特殊设计的 | 会区分开来,B-frame 可以实时解出来,而后面的 [n] 则显示先前解出来的 P-frame。

这样就破解了 AVI 之中无法处理 B-frame 的限制。

也许有人会想,就算不用 packed bitstream,我把声音也跟着往后 delay,不就可以解决了吗。确实,这样就不会有影音不同步的问题,但是还是有许多兼容性的问题,在不同 player 上,会发生各种奇怪的现象,例如画面显示的顺序错乱等等。
而且 XviD 的 B-frame 不只一个,它可以
I B B P B B ....

甚至还可以
I B P B B P B P P B B B ....

lag 更乱。

所以,出现这个画面的原因就是压制者在使用B-Frame的情况下没有开启packed bitstream,导致解码延时。

有兴趣的人可以看看Doom9的这个帖子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 新浪微博登陆

手机版|Archiver|名侦探柯南事务所 ( 沪ICP备17027512号 )

GMT+8, 2024-9-22 17:34 , Processed in 0.036751 second(s), 16 queries , MemCached On.

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部