搜索 社区服务 统计排行 帮助
  • 2820阅读
  • 27回复

[求助]B帧的质量好于P帧

楼层直达
级别: 新手上路
注册时间:
2006-04-16
在线时间:
0小时
发帖:
286
最近用839压出来的动画基本上B帧的qp要比P帧低1,这是否不符合规律
用crf或CQ好像正常,但2pass就会出现这种现象
下面这种情况就比较为难了,我一向以P帧低于22为目标的,受大小限不能再加码率,有什么办法解决吗



pass 1
x264 [info]: slice I:360 Avg QP:23.55 size: 24417
x264 [info]: slice P:12463 Avg QP:26.28 size: 6696
x264 [info]: slice B:29833 Avg QP:25.53 size: 940
pass 2
x264 [info]: slice I:360 Avg QP:18.45 size: 31360
x264 [info]: slice P:12463 Avg QP:22.73 size: 6517
x264 [info]: slice B:29833 Avg QP:20.16 size: 894
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 27楼 发表于: 2008-05-20
引用
最初由 qyqgpower 发布
少了个词
“bitrate”效率

还有,长镜头不是静止镜头的同义词。像固定摄像机的访谈、大场景鸟瞰的慢速pan画面,根本不可能用dedup之类的东西做成VFR


pan最好的办法是用大量b帧
级别: 风云使者
注册时间:
2006-03-12
在线时间:
54小时
发帖:
6604
只看该作者 26楼 发表于: 2008-05-20
dedup估计只能用于某些动画

roozhou 说的方法挺麻烦……

级别: 侠客
注册时间:
2005-02-09
在线时间:
0小时
发帖:
512
只看该作者 25楼 发表于: 2008-05-20
少了个词
“bitrate”效率

还有,长镜头不是静止镜头的同义词。像固定摄像机的访谈、大场景鸟瞰的慢速pan画面,根本不可能用dedup之类的东西做成VFR
级别: 工作组
注册时间:
2005-05-03
在线时间:
0小时
发帖:
2914
只看该作者 24楼 发表于: 2008-05-20
引用
最初由 qyqgpower 发布
1. 从效率上来讲,deadzone永远不可能比trellis好

trellis慢啊……
级别: 精灵王
注册时间:
2005-12-24
在线时间:
45小时
发帖:
2298
只看该作者 23楼 发表于: 2008-05-20
原来你的pass是这个意思呀,我还以为是编码是跑两遍呢

在长长地换硬件的道路上,纠结前进中
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 22楼 发表于: 2008-05-20
引用
最初由 暗影翔 发布

不懂,请赐教

大概是这样,假设分辨率是1280x720
mencoder -nosound -mc 0.1 -vf decimate=4,format=i420 -ovc raw -of rawvideo -o - -really-quiet input.xxx | x264.exe {参数略} -o 1.264 - 1280x720

这样出来的文件速度混乱,需要timecode
之前的办法是再跑一个pass
mencoder -nosound -mc 0.1 -vf decimate=4,crop=2:2 -ovc raw -o 1.avi input.xxx
然后用cfr2tc提出1.avi里面的timecode

后来写了个小程序,直接从mencoder的命令行输出里分析出timecode。当然要对mencoder做些小改动,因为编译一直没成功,所以就只能直接hack执行文件了
级别: 精灵王
注册时间:
2005-12-24
在线时间:
45小时
发帖:
2298
只看该作者 21楼 发表于: 2008-05-20
引用
最初由 roozhou 发布

这个当然是可以,不过avs用来做vfr实在是垃圾,需要2pass,之前如果要ivtc就要3pass,4pass...

我现在是用mencoder实现的,利用他的decimate滤镜,只要1pass。不过如果要加字幕就需要hack一下了

不懂,请赐教

在长长地换硬件的道路上,纠结前进中
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 20楼 发表于: 2008-05-19
引用
最初由 superkidx 发布

vfr?
dedup?

这个当然是可以,不过avs用来做vfr实在是垃圾,需要2pass,之前如果要ivtc就要3pass,4pass...

我现在是用mencoder实现的,利用他的decimate滤镜,只要1pass。不过如果要加字幕就需要hack一下了
级别: 风云使者
注册时间:
2006-03-12
在线时间:
54小时
发帖:
6604
只看该作者 19楼 发表于: 2008-05-19
引用
最初由 roozhou 发布

长镜头倒是简单,直接删重复帧就行了,把帧率降到0画面就不会变了

vfr?
dedup?

级别: 侠客
注册时间:
2005-12-16
在线时间:
5小时
发帖:
676
只看该作者 18楼 发表于: 2008-05-19
引用
最初由 qyqgpower 发布
1. 从效率上来讲,deadzone永远不可能比trellis好
2. IDR Frame会在scene cut的时候强制插入,根本无视你说的这两个参数。这两个参数对于高质量压制(QP22以下)没很大的影响,设成framerate的整数倍只是一种迷信。但当重视容量、QP必须较大时,--keyint太小会导致长镜头、淡入淡出之类的画面中突然插入高质量的IDR Frame,反而会降低观感。

这样啊。。。那么还是默认好了

另外有次,一个正片换到ED了(画面整个变化了)还是没有IDR,导致mmg切割不能。。
请问是因为264默认的--scenecut值偏小呢,
还是--min-keyint太大的限制(默认25意思是两个IDR间至少间隔25祯吧)?

爱看看不看滚
级别: 精灵王
注册时间:
2005-12-24
在线时间:
45小时
发帖:
2298
只看该作者 17楼 发表于: 2008-05-19
引用
最初由 roozhou 发布


这个的确是,特别是淡入,刚开始很模糊,然后突然插入了一个I帧,一下子就清楚了,而且偏偏只有x264有这个问题,其他各种编码器都没事。

长镜头倒是简单,直接删重复帧就行了,把帧率降到0画面就不会变了

。。。。。
我晕。。。。

在长长地换硬件的道路上,纠结前进中
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 16楼 发表于: 2008-05-19
引用
最初由 暗影翔 发布

恩,不太懂。
难道是说某段都比较模糊,可是突然插入一个非常清晰的IDR?
可是源比如就是一段淡入淡出,比较模糊,保留原画面信息多的IDR怎么可能是清晰呢


这个的确是,特别是淡入,刚开始很模糊,然后突然插入了一个I帧,一下子就清楚了,而且偏偏只有x264有这个问题,其他各种编码器都没事。

长镜头倒是简单,直接删重复帧就行了,把帧率降到0画面就不会变了
级别: 精灵王
注册时间:
2005-12-24
在线时间:
45小时
发帖:
2298
只看该作者 15楼 发表于: 2008-05-19
引用
最初由 qyqgpower 发布
1. 从效率上来讲,deadzone永远不可能比trellis好
2. IDR Frame会在scene cut的时候强制插入,根本无视你说的这两个参数。这两个参数对于高质量压制(QP22以下)没很大的影响,设成framerate的整数倍只是一种迷信。但当重视容量、QP必须较大时,--keyint太小会导致长镜头、淡入淡出之类的画面中突然插入高质量的IDR Frame,反而会降低观感。

恩,不太懂。
难道是说某段都比较模糊,可是突然插入一个非常清晰的IDR?
可是源比如就是一段淡入淡出,比较模糊,保留原画面信息多的IDR怎么可能是清晰呢

在长长地换硬件的道路上,纠结前进中
级别: 侠客
注册时间:
2005-02-09
在线时间:
0小时
发帖:
512
只看该作者 14楼 发表于: 2008-05-19
1. 从效率上来讲,deadzone永远不可能比trellis好
2. IDR Frame会在scene cut的时候强制插入,根本无视你说的这两个参数。这两个参数对于高质量压制(QP22以下)没很大的影响,设成framerate的整数倍只是一种迷信。但当重视容量、QP必须较大时,--keyint太小会导致长镜头、淡入淡出之类的画面中突然插入高质量的IDR Frame,反而会降低观感。
快速回复

限150 字节
上一个 下一个