Sono abituato a usare Play with MPV
estensione di Chrome su Arch linux che funziona anche su MacOS. Il problema è che non funziona come servizio per me su MacOS.
Se avvio direttamente play-with-mpv
nel terminale, il server è in ascolto sulla porta 7521 e posso eseguire il video di youtube in MPV con il tasto destro del mouse su Chrome.
Se inizio play-with-mpv
come servizio LauncherAgents con il plist corretto, si avvia, ascolta ma non fa nulla .. proprio dentro Chrome su Play with MPV
non fa nulla.
<?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>
Port listening
Python 2673 e 3u IPv4 0x51d94fea3b0e559f 0t0 TCP *:7531 (LISTEN)
Contenuto del play-with-mpv
avvio del server
#!/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())
Ho anche provato a mettere play-with-mpv
all'interno di Users & Groups > Login items
con lo stesso risultato di LaunchAgents
.
play.with.mpv.plist
si trova in ~/Library/LaunchAgents/play.with.mpv.plist
Provato anche a caricarlo tramite launchctl
launchctl load ~/Library/LaunchAgents/play.with.mpv.plist
Mentre chiama direttamente play-with-mpv
nel terminale la richiesta sta funzionando e mpv si apre fuori
http://localhost:7531/?play_url=https://www.youtube.com/watch?v=BoY1TNKO-bY
ma come servizio in esecuzione l'indirizzo non è accessibile e non fa nulla. Stranamente, posso eseguire il ping di localhost alla porta 7531
, è attivo, in esecuzione e in ascolto.
Sono molto nuovo in MacOS quindi per favore sii paziente con me :) Grazie
Aggiorna
per ora questo funziona in parte (ha aggiunto PATH e percorso completo 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>
MA c'è ancora qualcosa di straordinario. Il video sta perdendo frame (circa 3-4 / s). Se eseguo lo stesso video direttamente dal terminale con eg; mpv https://www.youtube.com/watch?v=BoY1TNKO-bY
o eseguendo manualmente il play-with-mpv
server, il video sta funzionando bene, zero fotogrammi persi.