Estoy acostumbrado a usar Play with MPV
Extensión de Chrome en Arch linux que funciona también en MacOS. El problema es que no funciona como servicio para mí en MacOS.
Si empiezo directamente play-with-mpv
en la terminal, el servidor está escuchando en el puerto 7521 y puedo ejecutar el video de youtube en MPV con el clic derecho dentro de Chrome.
Si empiezo play-with-mpv
como servicio LauncherAgents con plist adecuado se inicia, escucha pero no hace nada.. justo dentro de Chrome en Play with MPV
no hace nada.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>play.with.mpv</string>
<key>RunAtLoad</key>
<true/>
<key>Program</key>
<string>/Users/e/Library/Python/3.7/bin/play-with-mpv</string>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
Escucha de puertos
Python 2673 e 3u IPv4 0x51d94fea3b0e559f 0t0 TCP *:7531 (LISTEN)
Contenido de la play-with-mpv
lanzador de servidores
#!/usr/local/opt/python/bin/python3.7
# -*- coding: utf-8 -*-
import re
import sys
from server import start
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(start())
También traté de poner play-with-mpv
dentro de Users & Groups > Login items
con el mismo resultado que en LaunchAgents
.
play.with.mpv.plist
se encuentra en ~/Library/LaunchAgents/play.with.mpv.plist
También he intentado cargarlo a través de launchctl
launchctl load ~/Library/LaunchAgents/play.with.mpv.plist
Mientras que la llamada directa play-with-mpv
en el terminal la petición funciona y sale el mpv
http://localhost:7531/?play_url=https://www.youtube.com/watch?v=BoY1TNKO-bY
pero como servicio en ejecución esa dirección es inaccesible y no hace nada. Lo raro es que puedo hacer ping a localhost en el puerto 7531
está en marcha y escuchando.
Soy muy nuevo en MacOS así que por favor tened paciencia conmigo :) Gracias
ACTUALIZACIÓN
por ahora esto funciona en parte (se ha añadido el PATH y la ruta completa de python3.7)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/Users/e/Library/Python/3.7/bin:/usr/local/bin</string>
</dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>play.with.mpv</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/python3.7</string>
<string>/Users/e/Library/Python/3.7/bin/play-with-mpv</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/play.with.mpv.stderr</string>
<key>StandardOutPath</key>
<string>/tmp/play.with.mpv.stdout</string>
</dict>
</plist>
PERO todavía hay algo que no es normal. El vídeo pierde fotogramas (alrededor de 3-4/s). Si ejecuto ese mismo video directamente desde el terminal con eg; mpv https://www.youtube.com/watch?v=BoY1TNKO-bY
o ejecutando el programa play-with-mpv
servidor manualmente, el vídeo está funcionando bien, cero fotogramas perdidos.