Ce que j'essaie d'obtenir :
- Cliquez sur un lien YouTube dans une application
- Cette URL est utilisée par mon
youtube-dl
script pour télécharger la vidéo -
youtube-dl
est configuré pour télécharger la vidéo et l'audio de la plus haute qualité, puis utiliser ffmpeg pour les combiner en un seul fichier.
Ce que j'ai jusqu'à présent :
J'utilise Finicky comme navigateur par défaut. Cela me permet de contrôler les navigateurs qui ouvrent certains liens en fonction des règles que j'écris pour lui. En résumé, l'outil détecte les liens YouTube, les convertit de leur forme habituelle (par ex. https://www.youtube.com/watch?v=XxXxXxXXX_X
) à la forme abrégée et facile à partager (par exemple https://youtu.be/XxXxXxXXX_X
), puis l'envoie à un AppleScript.
L'AppleScript est enregistré comme une application et se trouve ci-dessous.
#!/bin/zsh
on open location input
do shell script "youtube-dl " & input
end open location
Ceci exécute le shell script. youtube-dl https://youtu.be/XxXxXxXXX_X
. Lorsque je tape cette commande exacte dans le Terminal, tout fonctionne parfaitement : youtube-dl
fait ce qu'il faut, y compris faire quelque chose avec ffmpeg pour combiner les fichiers téléchargés. Cependant, lorsque cet AppleScript est exécuté, c'est comme si ffmpeg n'était pas impliqué. J'obtiens un fichier vidéo et un fichier audio.
Je pense que le problème se situe au niveau de mon AppleScript, mais je n'y comprends rien. Que puis-je faire pour que mon AppleScript exécute les choses comme elles s'exécutent dans le Terminal ?
1 votes
J'ai annulé votre modification, veuillez poster votre solution en tant que réponse ci-dessous.