acmpv watcher - 监控剪贴板自动调用 acmpv 播放 Acfun 视频 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Shared
V2EX    分享创造

acmpv watcher - 监控剪贴板自动调用 acmpv 播放 Acfun 视频

  •  1
     
  •   Shared
    vayn 2016-10-19 03:04:10 +08:00 3646 次点击
    这是一个创建于 3284 天前的主题,其中的信息可能已经有所发展或是发生改变。

    上周六做了调用 mpv 播放器播放 Acfun 视频的 acmpv ,就一直想能不能再进一步,写个小程序监控剪贴板,发现复制的是 Acfun 网址就直接调用 acmpv 播放。

    一开始想用 PyQt 实现,但 macOS 上跑 PyQt 有很多坑实在不想趟。思来想去,干脆写原生应用得了,于是开始入门 Swift 3.0 之旅。这中间还遇到了一些问题,比如:如何使用 Process 调用外部命令?等等。

    经过两晚上的不懈奋斗,在踏过很多小坑之后,最终还是写好了。效果还算满意:

    screenshot

    安装方法很简单:首先下载 acmpv watcher 的 DMG 安装包,之后把 acmpv 应用拖入 /Applications 目录即可。

    运行后在菜单栏出现一个小星星,就是 acmpv watcher 了:

    acmpv_watcher

    现在任意复制某一 Acfun 视频地址,acmpv watcher 就会自动调用 acmpv 播放视频 (当然前提是已经安装 acmpv )。

    就酱,懒惰是第一生产力!

    31 条回复    2017-06-28 13:00:36 +08:00
    xream
        1
    xream  
       2016-10-19 04:07:32 +08:00
    之前研究过 macOS 上剪贴板监听 发现只能轮询...
    ddqp
        2
    ddqp  
       2016-10-19 06:15:35 +08:00 via iPhone
    请问,现在 you-get 功能这么强大,为什么不适配 you-get 呢?这样就更牛逼了
    Shared
        3
    Shared  
    OP
       2016-10-19 07:50:50 +08:00 via iPhone
    @xream 的确如此,不像 iOS ,查一遍没有通知可以用
    Shared
        4
    Shared  
    OP
       2016-10-19 07:52:09 +08:00 via iPhone
    @ddqp you-get 已经非常好了,但我只是想看 A 站弹幕啊 lol
    ddqp
        5
    ddqp  
       2016-10-19 08:13:33 +08:00 via iPhone
    @Shared 我说的是调用 you-get 播放,因为我需要拷贝 url 然后打开终端,然后输入命令才能播放,如果你能把上述步骤集成到你的程序里面就方便了
    Shared
        6
    Shared  
    OP
       2016-10-19 08:44:02 +08:00 via iPhone
    @ddqp 要做到也很容易,晚上下班回去实现你的需求
    JackBlack2006
        7
    JackBlack2006  
       2016-10-19 08:56:06 +08:00
    @Shared 有没有办法写个 mpv 的钩子 lua 脚本?向 mpv 发送 http 请求时候用 you-get 而不是 youtube-dl?

    主要是我现在装了 firefox 的 openwith 扩展,但是似乎只能用 mpv.app ,不能和网上的教程一样用 you-get

    昨天晚上拿 mpv 官方 youtube-dl lua 脚本试着改了一下,迁移到 you-get 不成功

    但是我是 --without-youtube-dl 编译的,然后放了脚本可以用 youtube-dl 看优酷和 b 站,说明钩子钩上去了不需要再编译
    Shared
        8
    Shared  
    OP
       2016-10-19 09:03:07 +08:00
    @JackBlack2006 作为应急方法,你可以在终端用 you-get 调用 mpv 播放视频: `you-get -p mpv URL`

    你说的脚本我抽空看看,应该是可以改的
    JackBlack2006
        9
    JackBlack2006  
       2016-10-19 09:13:16 +08:00
    @Shared 浏览器看得好好的,要切到用终端复制粘贴打命令,不是影响普及么

    要不是 A 站这次界面更新以后 flash 各种不显示,我也懒得搞 you-get 的……

    脚本地址

    https://github.com/mpv-player/mpv/blob/13259f35c805d50b8c4abdf3a201a2deb2f38a72/player/lua/ytdl_hook.lua
    Shared
        10
    Shared  
    OP
       2016-10-19 09:22:05 +08:00
    @JackBlack2006 直接用 acmpv + acmpv watcher 吧,完美满足你的需求 XD
    ddqp
        11
    ddqp  
       2016-10-19 09:35:47 +08:00 via iPhone
    @Shared 好啊,期待!
    exoticknight
        12
    exoticknight  
       2016-10-19 09:47:21 +08:00
    b 站呢
    Shared
        13
    Shared  
    OP
       2016-10-19 09:54:58 +08:00
    @exoticknight 这个说来话长,可以参见 acmpv 发布帖 /t/312960

    长话短说,晚上加入对 B 站的支持
    btjoker
        14
    btjoker  
       2016-10-19 10:34:39 +08:00
    @Shared 我记得 yout-get 连弹幕也一起抓下来的,格式是 json 格式的要转换。
    Shared
        15
    Shared  
    OP
       2016-10-19 10:47:15 +08:00
    @btjoker 嗯,是这样的
    edsion996
        16
    edsion996  
       2016-10-19 11:23:26 +08:00
    起码加个监控剪贴板的开关吧,或者指定快捷键触发播放~
    我想复制 a 站的链接发给别人,结果直接播放了。。。
    Shared
        17
    Shared  
    OP
       2016-10-19 11:26:31 +08:00
    @zjb861107 好的,下一版加上快捷键开关设置
    JackBlack2006
        18
    JackBlack2006  
       2016-10-19 11:27:37 +08:00
    美剧还是下回来看比较舒服,早上第一次拿 mpv 在 A 站看了一次美剧,因为视频分段了结果到那里会卡几秒,这还是高清的,换超清不堪设想
    Shared
        19
    Shared  
    OP
       2016-10-19 11:43:46 +08:00
    @JackBlack2006 这是网速的锅吧
    JackBlack2006
        20
    JackBlack2006  
       2016-10-19 12:37:52 +08:00
    @Shared 浏览器内用 flash 看就算超清原画也并不会卡,觉得还是 mpv 缓存默认只有 75MB 的原因?
    Shared
        21
    Shared  
    OP
       2016-10-19 12:55:30 +08:00
    @JackBlack2006 我还没发现这种情况,你试试把 mpv 的缓存设置改大些测试下效果
    ddqp
        22
    ddqp  
       2016-10-19 20:15:48 +08:00
    您使用的是 OSX 10.11.6 。该应用程序要求 OSX 10.12 或更高版本。

    可否向下兼容啊??
    JackBlack2006
        23
    JackBlack2006  
       2016-10-20 13:16:59 +08:00
    我今天又搞了一次脚本还是没成功……好像 mpv 根本不认这个 you-get 似的

    不过我看到这个 https://github.com/Kagami/mpv_vlive

    楼主可以考虑试试
    Shared
        24
    Shared  
    OP
       2016-10-20 13:54:59 +08:00
    @zjb861107 已经加入全书热键支持,使用 Command+Option+X 可以打开或关闭 acmpv watcher 的监控功能

    @ddqp 已经加入对 10.10 及以上版本支持,请测试
    ddqp
        25
    ddqp  
       2016-10-20 17:01:01 +08:00
    晚上试试
    ddqp
        26
    ddqp  
       2016-10-20 20:01:18 +08:00
    这个只能用来播放 acfun 嘛,其他的网站如何用这个软件调用 you-get?
    Shared
        27
    Shared  
    OP
       2016-10-21 04:00:53 +08:00
    @ddqp 更新咯,现在支持播放所有 you-get 支持的网站
    MrX
        28
    MrX  
       2016-10-22 13:54:04 +08:00
    能加上斗鱼直播吗
    Shared
        29
    Shared  
    OP
       2016-10-23 21:31:35 +08:00
    @MrX acmpv 底层用的 you-get ,按理是可以播放斗鱼的,不过那个斗鱼的解析模块好像坏了
    MrX
        30
    MrX  
       2016-10-23 21:32:17 +08:00
    @Shared 是的,只能播放几秒钟就退出了
    bugmein3
        31
    bugmein3  
       2017-06-28 13:00:36 +08:00
    windows 能用吗
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5822 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 06:18 PVG 14:18 LAX 23:18 JFK 02:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86