『漫游』酷论坛>『影音数码技术学习交流』>[请教]direct264读取视频 ..

[请教]direct264读取视频长度的问题

cici2010@2010-10-16 20:23

D:\QQDownload\direct264_20100831_v2>x264 -o 1.mkv --crf 20 --starttime 0:5:20 --ivtc t 1.vob
dshow [info]: duration 00:00:11
dshow [info]: 720x480p 10:11 @ 8000/267 fps (vfr)
x264 [info]: using SAR=10/11
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64 Slow_mod4_stack

x264 [info]: profile High, level 3.0
dshow [info]: start encoding from 320.00000 sec

-----------------------------------------------------------------------------------
我直接把VOB文件做IVTC并截取一段转码成X264 怎么到开始编码也不报错就直接跳出了呢 Orz..

还有dshow显示的文件长度信息貌似不正常啊…怎么只有11s

那个VOB文件的正确长度是0:10:37

-----------------------------------------------------------------------------------
在置顶帖和我的第一求助帖挂了好久 没人看到 貌似 从新发出来吧..Orz
引用

roozhou@2010-10-16 20:34

你用的分离器肯定不太对。推荐用MPC-HC的。
引用

cici2010@2010-10-16 20:58

装了win7code正常了 应该是分离器的问题....


顺便吐槽……开始为了精简系统装了KMPlayer plus

后来玩压制……各种滤镜、分离器、解码器都没有注册到系统 我又重新装了一遍FFDSHOW和Haali 然后又装了win7code 233..

现在估计系统里一堆重复的垃圾..(我废那个事干嘛 Orz。。)
引用

cici2010@2010-10-17 01:23

roozhou大……那个direct264的新参数仅在dshow模式下有效

那我想先用AVS做些crop、降噪的预处理 然后导入direct264处理 IVTC、starttime都不能用了 怎么办呢?
引用

upyzl@2010-10-17 10:00

引用
最初由 cici2010 发布
roozhou大……那个direct264的新参数仅在dshow模式下有效

那我想先用AVS做些crop、降噪的预处理 然后导入direct264处理 IVTC、starttime都不能用了 怎么办呢?


法1:--demuxer dshow
法2:ffdshow同样可做crop、NR
引用

cici2010@2010-10-17 13:30

D:\QQDownload\direct264_20100831_v2>x264 --demuxer dshow -o 1.mkv --crf 22
--starttime 0:5:20 --ivtc t 1.avs
dshow [error]: failed to render 1.avs
error code = 7
x264 [error]: could not open input file `1.avs' via any method!

--------------------------------------------------------------------------------------
demuxer dshow参数的位置没有问题么 系统滤镜也全部禁掉 换成了FFDSHOW还是出错啊


昨天尝试了几个AVS的降噪、锐化滤镜 预览的效果不错 所以不想再用ffdshow处理了 嗯..
引用

roozhou@2010-10-17 14:38

如果是简单的降噪锐化,请在ffdshow里加载avs,不要直接写avs。
dshow主要的功能是改善了输入,如果写avs的话,必须用avs的源滤镜,就失去了dshow的优势了。starttime之类如果写avs的话和用trim的效果是一样的。
引用

cici2010@2010-10-17 14:59

主要想用direct264的IVTC功能 用起来方便效果也不错....


如果我用AVS或者ffdshow来做ivtc的话 感觉比较麻烦 Orz..

--------------------------------------------------------------------------
又翻了些文章 我才刚明白...

direct264的核心是配合FFdshow来完成转码……direct264只是方便文件输入 主要的画面设置要配合FFdshow来完成
引用

cici2010@2010-10-17 17:39

用FFDSHOW加载了AVS文件……然后开direct264压制 滤镜貌似生效了……但是为啥画面全是抽丝啊 是不是IVTC没有成功呢...

直接喂VOB文件没有这个问题呢..

AVS代码
UnDot()
crop(8,62,-8,-58)
UnDot()
fft3dGPU()
LanczosResize(704,396)
UnDot()
aWarpSharp2()
UnDot()

D:\QQDownload\direct264_20100831_v2>x264 -o 1.mkv --crf 22 --starttime 0:5:20
--ivtc t 1.vob
dshow [info]: duration 00:10:37
dshow [info]: 704x396p 8:9 @ 8000/267 fps (vfr)
x264 [info]: using SAR=8/9
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64 Slow_mod4_stack

还有FFDSHOW的AVS设置界面 有3:2pulldown这个选项 这个选项干嘛用的不解

一般的DVD影片不都是24p 经过3:2pulldown 转换成30I在TV上播放的么 如果我选igore pulldown 就是把影片输入源当作无交错24P来看?
引用

roozhou@2010-10-17 17:44

ivtc必须在所有滤镜之前做,连crop,undot之类都不能上的。
而且很明显你的滤镜在乱用。

正确的顺序是ivtc->crop->denoise->resize
引用

cici2010@2010-10-17 18:32

谢谢roozhou大的指点……换用--ivtc d命令IVTC成功

那个IVTC没有用到AVS滤镜……所以不能指定滤镜顺序的

开启Dscaler 获得最高优先级(按R大的意思FFDSHOW的默认滤镜优先级也应该是IVTC滤镜优先) 然后通过Dscaler插件开启direct264的IVTC 问题成功解决...

------------------------------------------------------------------------------
有点不明白direct264用到的ivtc功能是它自身的一个组件么……如果使用FFDSHOW预先加载其它滤镜的话 direct264自身使用的IVTC优先级变为最低 会导致失败
R大加入 --d参数就是解决这个问题的?


还有就是做过IVTC后部分画面还是抽丝现象改如何处理呢……大概只有几帧= =
引用

roozhou@2010-10-17 23:44

如果要用ffdshow加载其他滤镜,则必须用DScaler方式调用Phase(即ivtc)。而x264的--ivtc d就是从DScaler插件中获取处理结果。

少数画面依然拉丝是Phase滤镜的缺陷,我在以后的版本中会改进。
引用

| TOP