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

[请教]为何有些x.264编码mkv封装的片子用kmp播放拖动时,滑块会大幅后退呢?

楼层直达
级别: 新手上路
注册时间:
2010-06-10
在线时间:
0小时
发帖:
6
虽然这个问题不算什么严重的大问题,既不影响片子的整体观看,而且在mpc、wmp12这些播放器拖动时也不会出现这个问题,偏偏出现在我惯用的kamplayer上(估计许多人也习惯用kmp的)。另外我自己用avidemux压的东东也就存在这个问题,用kmp播放拖动进度条滑块时总会出现或多或少的倒退(滞后)现象,甚是不爽。看到人家压的片子能够几乎无缝地流畅拖动,我就一直想弄明白其中的原因并找到解决办法。
通过这几天在网上的询问和学习,我大致知道由于kmp播放x.264片子时是基于IDR帧为索引的,正由于IDR帧的某些特性引起了这种现象。我用avidemux压制时基本使用了常规的参数,并无什么特别。让我疑惑的是莫非这是avidemux这款软件的天生不足还是参数设置中另有蹊跷,现在恳请高人释疑!
附上我avidemux常用的压制参数Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=6 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / wpredp=2 / keyint=250 / keyint_min=3 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=3900 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
级别: 骑士
注册时间:
2007-01-31
在线时间:
62小时
发帖:
896
只看该作者 1楼 发表于: 2010-06-10
播放->关键帧搜索(鼠标)/关键帧搜索(方向键)
级别: 新手上路
注册时间:
2010-06-10
在线时间:
0小时
发帖:
6
只看该作者 2楼 发表于: 2010-06-11
经实践将kmp菜单播放->关键帧搜索(鼠标)前的勾去掉确实可以消除滑块滞后的现象,不过瞬时cpu占用率有点高(这和启用periodic intra refresh这个参数的效果类似)。虽然还无法像有些片子不去勾也能拖哪放哪那么流畅,但也不失为一种解决方法,还是要表示感谢。另外期待能否有更好的解决方法。
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 3楼 发表于: 2010-06-11
要么基于关键帧移动,要么随机读取但是会从关键帧开始播放到当前,要么减小关键帧间隔

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 新手上路
注册时间:
2010-06-10
在线时间:
0小时
发帖:
6
只看该作者 4楼 发表于: 2010-06-11
引用
最初由 MeteorRain 发布
要么基于关键帧移动,要么随机读取但是会从关键帧开始播放到当前,要么减小关键帧间隔

感觉我说的现象与你说的第二句相对应,随机拖放似乎总会先回退到相应的关键帧再播放到拖放的位置,其间的幅度时大时小,就造成拖放时后退和不连贯的感觉。我曾多次减小IDR帧的最小帧间距(甚至减小到0或1)都无济于事,不知你说的减小关键帧间距指的是否就是这个参数,如果不是还请说的具体一些。感觉这儿的大侠每次都回答都能让我感到离完全解决问题更进一步了,衷心表示感谢啊~!
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 5楼 发表于: 2010-06-11
减少最大值才有用,或者提高scenecut
级别: 新手上路
注册时间:
2010-06-10
在线时间:
0小时
发帖:
6
只看该作者 6楼 发表于: 2010-06-11
引用
最初由 roozhou 发布
减少最大值才有用,或者提高scenecut

感谢大侠回答,经尝试提高scenecut似乎没设么效果;但减少keyint_max该参数取值确实有效减轻了滑块拖放时后退的幅度(仅有轻微后退了),总之达到了我能接受的程度,对您的回答表示非常的感谢!
快速回复

限150 字节
上一个 下一个