Lo que intento conseguir:
- Hacer clic en un enlace de YouTube en una aplicación
- Esta URL es utilizada por mi
youtube-dl
script para descargar el vídeo youtube-dl
está configurado para descargar el vídeo y el audio de mayor calidad, y luego utilizar ffmpeg para combinarlos en un solo archivo
Lo que tengo hasta ahora:
Yo uso Finicky como mi navegador por defecto. Esto me permite controlar qué navegadores abren ciertos enlaces en función de las reglas que escribo para él. El resumen de la herramienta es que detecta los enlaces de YouTube, los convierte de su forma habitual (por ejemplo https://www.youtube.com/watch?v=XxXxXxXXX_X
) a la forma abreviada y fácil de compartir (por ejemplo https://youtu.be/XxXxXxXXX_X
), y luego lo envía a un AppleScript.
El AppleScript se guarda como una aplicación y está abajo.
#!/bin/zsh
on open location input
do shell script "youtube-dl " & input
end open location
Esto ejecuta el shell script youtube-dl https://youtu.be/XxXxXxXXX_X
. Cuando escribo este comando exacto en Terminal todo funciona perfectamente: youtube-dl
hace lo suyo, incluyendo hacer algo con ffmpeg para combinar los archivos descargados. Sin embargo, cuando este AppleScript se ejecuta es como si ffmpeg no estuviera involucrado. Obtengo un archivo de vídeo y un archivo de audio.
Creo que mi problema está en mi AppleScript, pero se me va la pinza con él. ¿Qué puedo hacer para que mi AppleScript ejecute las cosas como se ejecutan en la Terminal?