如何从mpv/lua中启动python脚本

我使用https://github.com/iwalton3/python-mpv-jsonipc编写了一个用python编写的mpv脚本。现在我正在尝试在mpv打开时启动脚本,但似乎不能启动。我尝试从mpv运行:

mp.command("run", "python3", "D:\TingTingin\pycharmprojects\mpvipc\got launched.py")

和lua:

os.execute("D:\TingTingin\pycharmprojects\mpvipc\got launched.py")

但脚本不会运行,我不确定我做错了什么

点赞
用户3342050
用户3342050

我认为,除非在启动期间指定,否则不会自动启用脚本。

mpv --list-options

--script                         alias for --scripts-append (仅限CLI /配置文件)
--script-opts                    键/值列表(默认值:)
  --script-opts-add
  --script-opts-append
  --script-opts-set
  --script-opts-remove
--scripts                        字符串列表(默认值:)[file]
  --scripts-add
  --scripts-append
  --scripts-clr
  --scripts-del
  --scripts-pre
  --scripts-set
  --scripts-toggle
  --scripts-remove

可能会使用允许您永久设置启动选项的 GUI,例如 SMPlayer

.bash-aliases 中使用别名来轻松执行 mpv 命令,但我猜测您是因为目录名称而在 Windows 上...

alias mpv="mpv --script '/home/sketch2/Programming/Scripts/launched.py'"

一个查找启动的 TSR,例如 Devilspie2 就可以做到。通常用于调整大小并将应用程序放置在您喜欢的位置。可以编程为自动运行您的 mpv 脚本。那可能只有在 Linux 上才能实现,因此您必须在(假设)Windows 中寻找类似的东西。也许它通过他们的 Linux-subsystem 运行,我不知道。我怀疑它可能以 Windows 不预期的方式轮询 X。

您会一直使用它,还是只是偶尔使用它?您可以在后台运行脚本,并每隔30秒检查一次运行的 mpv 实例吗?这实际上就是 TSR 的基本原理。

https://github.com/mpv-player/mpv/wiki/User-Scripts


编辑:

我刚意识到有一个 mpv.conf ,那里将设置它。

我不知道它在 Windows 上存储在哪里,但在 *nix 中它在 ~/.config/mpv/ 中。

就是接着命令行参数,设置它们。注释为#哈希掉。

https://github.com/mpv-player/mpv/blob/master/etc/mpv.conf

2021-06-09 18:44:57
用户16178677
用户16178677

在双引号字符串字面值中,必须转义反斜杠。- Egor Skriptunoff

使用 mp.commandv("run", "python3", [[D:\TingTingin\pycharmprojects\mpvipc\got launched.py]]) 看起来是有效的,需要将其放入[[]]中,也需要使用 commandv 而不是 command,感谢 Egor Skriptunoff。

2021-06-10 13:12:44