版面规则
提问时请注意:尽量详细描述操作过程、AVS脚本内容等,最好能写出片名,只贴图有时无法看出问题原因。
提示:发布原创内容请尽量使用附件上传。使用网盘会出现过期失效的问题,请注意。
头像
SAPikachu
帖子: 192
注册时间: 2011-02-28 19:55
联系: 网站

Re: MP_Pipeline 0.16 - 多进程运行avs脚本 [2014-01-11]

望月凝香 写了:1.亲测,可以从1.24fps提高到1.49fps
2.

代码: 全选

LoadPlugin()
#多线程
MP_Pipeline("""
#多线程
SetMemoryMax(1024)
LoadPlugin()
#导入视频
Clip10=""
#文件源
LWLibavVideoSource(Clip10)
#导入视频流
LoadPlugin()
Import()
#Dering
HQDeringmod(lsb_in=False, lsb=True, lsb_out=True, tv_range=False, nrmode=2, Y=3, U=3, V=3)
#Dering
### branch: 2
### ###
LoadPlugin()
#去色带
SetMemoryMax(1024)
f3kdb(range=9, Y=32,Cb=32,Cr=32,grainY=0,grainC=0,sample_mode=2,opt=-1,mt=true,  dither_algo=3, keep_tv_range=false, input_depth=16, output_depth=8)
#去色带
### ###
LoadPlugin()
Import()
#降噪
SetMemoryMax(1024)
MCTD(settings="low", sigma=2, sharp=false, limit=4, chroma=true, GPU=false,  fixband=false, protect=true, AA=false, deblock=true, useQED=true, edgeclean=false, stabilize=false,  enhance=false)
#降噪
### prefetch: 16, 0
### branch: 4
### ###
""")
LoadPlugin和Import我就不打了

3.指的是用MeGUI载入avs脚本、Queue和start三步开始后都会出现多于8个slave线程。特别是载入avs脚本那一步,会出现多于20个slave线程。这些线程在各自步骤结束后如果不手动终止会一直在那里占用内存但不占用CPU,导致直接爆内存(压制步骤我一般是CPU在80-100%变动,而内存在80-90%变动,所以如果之前slave不清理会爆内存)。
1. 好吧。。。
2.

代码: 全选

LoadPlugin()
#多线程
MP_Pipeline("""
#多线程
LoadPlugin()
#导入视频
Clip10=""
#文件源
LWLibavVideoSource(Clip10)
### prefetch: 192, 128
### ###
#导入视频流
LoadPlugin()
Import()
#Dering
HQDeringmod(lsb_in=False, lsb=True, lsb_out=True, tv_range=False, nrmode=2, Y=3, U=3, V=3)
#Dering
LoadPlugin()
#去色带
f3kdb(range=9, Y=32,Cb=32,Cr=32,grainY=0,grainC=0,sample_mode=2,opt=-1,mt=true,  dither_algo=3, keep_tv_range=false, input_depth=16, output_depth=8)
#去色带
### branch: 2
### prefetch: 64, 32

### ###
LoadPlugin()
Import()
#降噪
SetMemoryMax(2500)
MCTD(settings="low", sigma=2, sharp=false, limit=4, chroma=true, GPU=false,  fixband=false, protect=true, AA=false, deblock=true, useQED=true, edgeclean=false, stabilize=false,  enhance=false)
#降噪
### prefetch: 32, 0
### ###

last

""")
改成这样试试速度和内存占用如何?

3. 这样的话只能建议丢掉MeGUI了,MPP里面应该是没办法修复这个的。。
T: @SAPikachu
头像
msg7086
帖子: 600
注册时间: 2011-02-19 0:49

Re: MP_Pipeline 0.16 - 多进程运行avs脚本 [2014-01-11]

另外如果实在难受的话可以试试切开以后同时单线跑2个出无损……
Delogo LGD Collections 各种台标下载 | Home Of VapourSynth Evolution

<回答が無い理由>
1. 誰も知らない
2. 質問文が意味不明
3. 知ってるが、お前の態度が気に入らない
4. 良いボケが思いつかない
头像
望月凝香
帖子: 40
注册时间: 2013-08-07 17:04

Re: MP_Pipeline 0.16 - 多进程运行avs脚本 [2014-01-11]

To SAPikachu:
非常感谢,这个效率高了一些,1.52fps,而且省了不少资源。
我把MCTD开2个branch后,达到1.72fps,我再调调别的参数。

To msg7086:
能麻烦详细说一下吗?没有压过无损。
头像
SAPikachu
帖子: 192
注册时间: 2011-02-28 19:55
联系: 网站

Re: MP_Pipeline 0.16 - 多进程运行avs脚本 [2014-01-11]

望月凝香 写了:To SAPikachu:
非常感谢,这个效率高了一些,1.52fps,而且省了不少资源。
我把MCTD开2个branch后,达到1.72fps,我再调调别的参数。

To msg7086:
能麻烦详细说一下吗?没有压过无损。
另外MCTD要用branch的话建议把chunk size和prefetch设大试试,这样理论上可以降低branch的overhead,比如说:
### branch: 2, 32
### prefetch: 64, 0

(注意上游脚本块的prefetch也要相应调大,保证不出现cache miss。因为你有16G内存,branch 2 + prefetch 64的话保险起见上游可以设prefetch 256, 160)
T: @SAPikachu
头像
msg7086
帖子: 600
注册时间: 2011-02-19 0:49

Re: MP_Pipeline 0.16 - 多进程运行avs脚本 [2014-01-11]

望月凝香 写了:能麻烦详细说一下吗?没有压过无损。
首先挑一个无损编码。我个人喜好是,如果要做后期剪辑的,上LAGS,不做的,上x264 qp0。

然后把avs分割成合理的小块。比如我压日剧的时候直接按照广告位置自然分开。如果是BD的话正中间找个关键帧拦腰一刀就行了。

这样你就有了多个avs,假设有 1.avs, 2.avs, ..., 6.avs

现在你可以并行压多个文件。

LAGS: avs2avi 1.avs 1.avi -p 0 -c LAGS
x264 qp0: 调用x264然后设置 --qp 0 就行了

如果你手里是4核的话,一般2-3核跑2-3个avs,还有1核跑编码就差不多了。6核的话差不多跑4个avs,2核编码。

全部压完以后你就会有6个avi了。开个avs,用avisource导入6个avi拼一下直接喂x264就行了。

如果是qp0的x264的话,6个mp4用lwlibav扔进avs里拼一下也可以直接喂了。

对硬盘空间要求比较大,但是速度提升很明显。毕竟单核的执行效率是最好的。
Delogo LGD Collections 各种台标下载 | Home Of VapourSynth Evolution

<回答が無い理由>
1. 誰も知らない
2. 質問文が意味不明
3. 知ってるが、お前の態度が気に入らない
4. 良いボケが思いつかない
头像
SAPikachu
帖子: 192
注册时间: 2011-02-28 19:55
联系: 网站

Re: MP_Pipeline 0.17 - 多进程运行avs脚本 [2014-02-14]

发布0.17(烧烤节献礼(死
T: @SAPikachu
头像
望月凝香
帖子: 40
注册时间: 2013-08-07 17:04

Re: MP_Pipeline 0.17 - 多进程运行avs脚本 [2014-02-14]

非常感谢SAPikachu,效率提高很多。
自己再稍微调教后达到2.07fps,嗯。
如果压时间长一点的可以达到2.41fps。

以及msg7086,虽然很感谢但是不明觉历中……
头像
SAPikachu
帖子: 192
注册时间: 2011-02-28 19:55
联系: 网站

Re: MP_Pipeline 0.18 - 多进程运行avs脚本 [2014-04-06]

发布0.18
T: @SAPikachu
alexz220
帖子: 115
注册时间: 2012-07-21 17:15

Re: MP_Pipeline 0.18 - 多进程运行avs脚本 [2014-04-06]

MPP的确是神器。
请问皮神能抽空写个prefetch的使用教程吗?
例如temporal和spacial滤镜交替出现的情况,
相信大部分人都没有把MPP的效率完全发挥。
头像
SAPikachu
帖子: 192
注册时间: 2011-02-28 19:55
联系: 网站

Re: MP_Pipeline 0.18 - 多进程运行avs脚本 [2014-04-06]

alexz220 写了:MPP的确是神器。
请问皮神能抽空写个prefetch的使用教程吗?
例如temporal和spacial滤镜交替出现的情况,
相信大部分人都没有把MPP的效率完全发挥。
感觉没什么好说的,基本上前向帧数根据自己的内存情况设置,然后设置后方帧数保证所有temporal滤镜要使用的帧都在缓存里面就可以。我个人喜欢最后一个block用8,然后上游每个block加倍,当然如果遇到temporal滤镜就要另外调整。
T: @SAPikachu

回到 “AviSynth”