找回密码
 立即注册
查看: 3902|回复: 15

mpv快捷键设置问题

  • TA的每日心情

    2022-10-20 03:13
  • 签到天数: 385 天

    [LV.9]以坛为家II

    25

    主题

    146

    回帖

    24

    VC币

    金牌会员

    Rank: 6Rank: 6

    积分
    48613
    HuangRuixiao 发表于 2020-12-11 03:13:36 | 显示全部楼层 |阅读模式
    mpv上开启某一视频滤镜的快捷键在input.config中怎么设置?
    比如拿 vf=vapoursynth="~~/mvtools-blksize64.py":concurrent-frames=25 这一滤镜举例,欲设置开启快捷键ctrl+M,该如何写input.config?
    回复

    使用道具 举报

  • TA的每日心情

    2022-10-20 03:13
  • 签到天数: 385 天

    [LV.9]以坛为家II

    25

    主题

    146

    回帖

    24

    VC币

    金牌会员

    Rank: 6Rank: 6

    积分
    48613
    HuangRuixiao  楼主| 发表于 2020-12-11 13:09:47 | 显示全部楼层
    本帖最后由 HuangRuixiao 于 2020-12-11 13:31 编辑
    TK4E 发表于 2020-12-11 11:36
    # Vapoursynth {{{
    ##
    ## Vapoursynth toggle keybinding

    谢谢,最后成功了
    实测这两行代码只有下面不带引号的可行
    1. CTRL+m vf toggle vapoursynth="~~/mvtools-blksize64.py:concurrent-frames=25"#开关mvtools补帧
    复制代码
    1. CTRL+m vf toggle vapoursynth=~~/mvtools-blksize64.py:concurrent-frames=25#开关mvtools补帧
    复制代码


    点评

    可以直接控制开关  发表于 2020-12-11 13:28
    就是有没有引号的区别  发表于 2020-12-11 13:13
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    11

    回帖

    0

    VC币

    新手上路

    Rank: 1

    积分
    88
    TK4E 发表于 2020-12-11 09:58:38 | 显示全部楼层
    本帖最后由 TK4E 于 2020-12-11 10:00 编辑

    没用过vpy
    你可以参考下
    input.conf
    F5 vf toggle "oscilloscope=x=0.5:y=0.5:s=1:c=1"

    原命令
    ffplay -vf "oscilloscope=x=0.5:y=0.5:s=1:c=1" -i x.ts n.ts

    上面那个可能有误导性
    mpv --vf="oscilloscope=x=0.5:y=0.5:s=1:c=1"  i.ts



    回复

    使用道具 举报

  • TA的每日心情

    2022-10-20 03:13
  • 签到天数: 385 天

    [LV.9]以坛为家II

    25

    主题

    146

    回帖

    24

    VC币

    金牌会员

    Rank: 6Rank: 6

    积分
    48613
    HuangRuixiao  楼主| 发表于 2020-12-11 10:53:13 | 显示全部楼层
    试了半天还是没有成功,目前是这样的思路
    1. CTRL+q vf-toggle=vapoursynth="~~/mvtools-blksize64.py":concurrent-frames=25#开关mvtools补帧
    复制代码

    但是没有用,播放界面报错如下

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    11

    回帖

    0

    VC币

    新手上路

    Rank: 1

    积分
    88
    TK4E 发表于 2020-12-11 11:36:34 | 显示全部楼层
    # Vapoursynth {{{
    ##
    ## Vapoursynth toggle keybinding
    ## defalut key overwrite for IR remote key
    #
    ## mvtools
    1 vf toggle vapoursynth=/home/nietz/.config/mpv/vapoursynth/mvtools.vpy
    ## flash3kyuu debanding
    #2 vf toggle vapoursynth=~/.config/mpv/vapoursynth/flash3kyuu.vpy
    2 quit
    ## SVP4 interpolation low quality
    # vf toggle vapoursynth=/home/nietz/.config/mpv/vapoursynth/svp4.vpy
    ## SVP4 interpolation middle quality + gpu
    3 vf toggle vapoursynth=/home/nietz/.config/mpv/vapoursynth/svp4.vpy
    #3 vf toggle vapoursynth=/home/nietz/.config/mpv/vapoursynth/svp4gpu.vpy
    ## SVP4 interpolation low quality for tv 29.970 fps
    #4 vf toggle vapoursynth=/home/nietz/.config/mpv/vapoursynth/svp4tv.vpy
    4 vf toggle "lavfi=graph=[cropdetect=limit=24:round=2:reset=0],lavfi=graph=[crop=1920:1076:0:4],lavfi=graph=[bwdif=mode=send_frame:parity=auto:deint=interlaced],vapoursynth=/home/nietz/.config/mpv/vapoursynth/mvtools.vpy,lavfi=graph=[gradfun=strength=3.5:radius=8]" # toggle deinterlacer (auto-inserted filter)
    ## toggle gradfun debanding on 5
    5 vf toggle lavfi=gradfun
    #
    # remove all video filters on 6
    6 vf set ""
    # vf toggle vapoursynth=/home/nietz/.config/mpv/vapoursynth/test.vpy
    ## fullscreen 7
    7 cycle fullscreen
    ## osd toggle 8
    8 cycle osd-level
    # }}}


    https://rina-kawakita.tistory.com/entry/configmpvinputconf


    能不能用我不清楚  我也不知道文本里的内容  我也没用win  
    我感觉你是路径写错
    回复

    使用道具 举报

  • TA的每日心情

    2022-10-20 03:13
  • 签到天数: 385 天

    [LV.9]以坛为家II

    25

    主题

    146

    回帖

    24

    VC币

    金牌会员

    Rank: 6Rank: 6

    积分
    48613
    HuangRuixiao  楼主| 发表于 2020-12-11 13:29:48 | 显示全部楼层
    本帖最后由 HuangRuixiao 于 2020-12-11 13:33 编辑

    又试了一下单独关闭,仅仅是把
    1. CTRL+m vf toggle vapoursynth=~~/mvtools-blksize64.py:concurrent-frames=25#开关mvtools补帧
    复制代码

    中的“toggle"换成remove,变成
    1. CTRL+Alt+m vf remove vapoursynth=~~/mvtools-blksize64.py:concurrent-frames=25#关闭mvtools补帧
    复制代码

    然后发现不起作用,无法移除已加载的滤镜。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 01:10
  • 签到天数: 762 天

    [LV.10]以坛为家III

    3

    主题

    198

    回帖

    0

    VC币

    荣誉会员

    Rank: 14Rank: 14Rank: 14Rank: 14

    积分
    81643
    Starlight 发表于 2020-12-11 18:03:21 | 显示全部楼层
    HuangRuixiao 发表于 2020-12-11 13:29
    又试了一下单独关闭,仅仅是把

    中的“toggle"换成remove,变成
    1. vf append "@interp:vapoursynth=~~/filters/svpflow.py:concurrent-frames=25"
    2. vf remove "@interp"
    复制代码
    我测试下来是可以的mpv.io
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 01:10
  • 签到天数: 762 天

    [LV.10]以坛为家III

    3

    主题

    198

    回帖

    0

    VC币

    荣誉会员

    Rank: 14Rank: 14Rank: 14Rank: 14

    积分
    81643
    Starlight 发表于 2020-12-11 18:21:41 | 显示全部楼层
    对另外帖子的问题做个回答

    那个vpy效果不会和懒人包里现有的存在区别,没必要“使用”它。

    mvtools增加质量可以把vpy里的 BlockFPS 改成 FlowFPS,
    但是flow可能产生很扭曲的效果,建议视具体情况自行决定。
    回复

    使用道具 举报

  • TA的每日心情

    2022-10-20 03:13
  • 签到天数: 385 天

    [LV.9]以坛为家II

    25

    主题

    146

    回帖

    24

    VC币

    金牌会员

    Rank: 6Rank: 6

    积分
    48613
    HuangRuixiao  楼主| 发表于 2020-12-11 22:22:03 | 显示全部楼层
    Starlight 发表于 2020-12-11 18:21
    对另外帖子的问题做个回答

    那个vpy效果不会和懒人包里现有的存在区别,没必要“使用”它。

    谢谢,最后测试成功了,发现之前失败是因为Ctrl+Alt不能作为快捷键组合,现在改成Shift+Ctrl就没问题了。
    1. CTRL+m vf append vapoursynth=~~/mvtools-blksize64.py:concurrent-frames=25#开启mvtools补帧
    复制代码
    1. Shift+Ctrl+m vf remove vapoursynth=~~/mvtools-blksize64.py:concurrent-frames=25#关闭mvtools补帧
    复制代码



    回复

    使用道具 举报

  • TA的每日心情

    2022-10-20 03:13
  • 签到天数: 385 天

    [LV.9]以坛为家II

    25

    主题

    146

    回帖

    24

    VC币

    金牌会员

    Rank: 6Rank: 6

    积分
    48613
    HuangRuixiao  楼主| 发表于 2020-12-11 22:28:21 | 显示全部楼层
    Starlight 发表于 2020-12-11 18:21
    对另外帖子的问题做个回答

    那个vpy效果不会和懒人包里现有的存在区别,没必要“使用”它。

    在"mvtools-blksize64"中发现以下两行包含相关关键字
    1. #clip = core.mv.FlowFPS(clip,_super,mvbw,mvfw,num=dfps,den=vden,mask=0,ml=100.0,thscd1=970,thscd2=255,blend=False)
    2.     clip = core.mv.BlockFPS(clip,_super,mvbw,mvfw,num=dfps,den=vden,mode=2,ml=100.0,thscd1=970,thscd2=255,blend=False)
    复制代码
    是把下面一行的Block改成Flow还是把下一行直接换成上一行呢?

    PS:附上完整代码:
    1. import vapoursynth as vs
    2. core = vs.core
    3. clip = video_in
    4. vfps = int(container_fps*1e8)
    5. dfps = 60000

    6. def ffps(fps):
    7.     rfps = int('%.0f' % fps)
    8.     if ( abs(fps - (rfps/1.001)) < abs(fps - (rfps/1.000)) ):
    9.         vfps,vden = rfps*1000, 1001
    10.     else:
    11.         vfps,vden = rfps*1000, 1000
    12.     return vfps, vden

    13. '''
    14. mv.Super(clip clip[, int hpad=8, int vpad=8, int pel=2, int levels=0, bint chroma=True, int sharp=2, int rfilter=2, clip pelclip=None, bint opt=True])

    15. mv.Analyse(
    16.            clip super         [,  int blksize    =8,  int blksizev=blksize,  int levels        =0,
    17.             int search       =4,  int searchparam=2,  int pelsearch     =0, bint isb       =False,
    18.             int lambda         , bint chroma  =True,  int delta         =1, bint truemotion =True,
    19.             int lsad           ,  int plevel       ,  int global          ,  int pnew            ,
    20.             int pzero     =pnew,  int pglobal    =0,  int overlap       =0,  int overlapv=overlap,
    21.            bint divide   =False,  int badsad =10000,  int badrange     =24, bint opt        =True,
    22.            bint meander   =True, bint trymany=False, bint fields    =False, bint tff             ,
    23.             int search_coarse=3,  int dct        =0]
    24.             )

    25. mv.BlockFPS(clip clip, clip super, clip mvbw, clip mvfw[, int num=25, int den=1, int mode=3, float ml=100.0, bint blend=True, int thscd1=400, int thscd2=130, bint opt=True])
    26. '''

    27. if (container_fps <= 30):
    28.     vfps,vden = ffps(container_fps)
    29.     print(container_fps, vfps, vden)
    30.    
    31.     clip = core.std.AssumeFPS(clip, fpsnum=vfps, fpsden=vden)
    32.     _super  = core.mv.Super(clip, pel=2, sharp=1, rfilter=4,hpad=8,vpad=8,levels=0)
    33.     mvbw = core.mv.Analyse(_super,   64, 64,    0,
    34.                                 4,    0,  3, True,
    35.                              0,
    36.                             lsad=10000,
    37.                            overlap=0,overlapv=18,
    38.                            badrange=0,badsad=10000,
    39.                            dct=0,
    40.                            search_coarse=4,
    41.                           )
    42.     mvfw = core.mv.Analyse(_super,   64, 64,     0,
    43.                                 4,    0,  3, False,
    44.                              0,
    45.                             lsad=10000,
    46.                            overlap=0,overlapv=18,
    47.                            badrange=0,badsad=10000,
    48.                            dct=0,
    49.                            search_coarse=4,
    50.                           )
    51.     '''    bvec = core.mv.Analyse(_super,blksize=32,blksizev=16,overlap=16,overlapv=8,
    52.                            levels=0,isb=True,
    53.                            pelsearch=4,search=4,searchparam=0,
    54.                            badrange=1,badsad=100000,
    55.                            #lambda=400,
    56.                            #truemotion=False
    57.                            #divide=True,
    58.                            #dct=7,
    59.                            #pzero=110
    60.                           )
    61. #blksize=32,blksizev=16,overlap=16,overlapv=2,
    62. #blksize=32,blksizev=16,overlap=16,overlapv=8,
    63. #[(i,1080-int(1080/(64-i))*(64-i)-i ) for i in range(0,33,2)]
    64. #4x4, 8x4, 8x8, 16x2, 16x8, 16x16, 32x16, 32x32, 64x32, 64x64, 128x64, or 128x128
    65.     fvec = core.mv.Analyse(_super,blksize=32,blksizev=16,overlap=16,overlapv=8,
    66.                            levels=0,isb=False,
    67.                            pelsearch=4,search=4,searchparam=0,
    68.                            badrange=1,badsad=100000,
    69.                            #lambda=400,
    70.                            #truemotion=False
    71.                            #divide=True,
    72.                            #dct=7,
    73.                            #pzero=110
    74.                           )
    75.                           '''
    76.     #clip = core.mv.FlowFPS(clip,_super,mvbw,mvfw,num=dfps,den=vden,mask=0,ml=100.0,thscd1=970,thscd2=255,blend=False)
    77.     clip = core.mv.BlockFPS(clip,_super,mvbw,mvfw,num=dfps,den=vden,mode=2,ml=100.0,thscd1=970,thscd2=255,blend=False)

    78. clip.set_output()
    79. #_super.set_output()
    80. #core.mv.SCDetection(sup,bvec).set_output()
    复制代码


    点评

    #后边是注释掉的内容不生效,要用哪一行就要去掉注释,不用哪一行就前面加注释  发表于 2020-12-12 00:53
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表