0 votos

problema con el servidor Python de play-with-mpv

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.

0voto

5ulo Puntos 101

Lo tengo funcionando. Aquí está la solución completa:

Plist: ~/Library/LaunchAgents/play.with.mpv.plist

<?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>Disabled</key>
    <false/>
    <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</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>

Tenga en cuenta el PATH de python3 - encuéntrelo con which python3 y el play-with-mpv ¡Python script!

Cargar plist:

launchctl load ~/Library/LaunchAgents/play.with.mpv.plist

mpv config en ~/.config/mpv/mpv.conf

video-sync=display-resample

si esto no ayuda, intente esto en su lugar

opengl-early-flush=no

Que video-sync El parámetro fue la clave: ya no se cayó ni un solo fotograma.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X