2 votos

youtube-dl en acción de automator archivo de video y audio no mux

He construido un AppleScript para que se ejecute como un Servicio para Safari. Pero yo estoy en un problema donde el audio y el vídeo no están siendo mux. Esto no sucede al entrar en el mismo comando en la terminal.

Tengo un archivo de configuración para youtube-dl:

-f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]'
-o '/Volumes/Godzilla/Video/YouTube Video/%(title)s-%(id)s.%(ext)s'

Este es el script de automator que utiliza la actual Safari URL de entrada:

on run {input, parameters}
    try
        do shell script "/usr/local/bin/youtube-dl " & input
        (display notification input with title "YouTube Video Downloaded") beep
        delay 1 --> avoid quit before notice
    on error
        display notification "YouTube Download Failed" -- show error message
    end try
end run

EDIT: OK, he solicitado el archivo de audio en la configuración de la pregunta es ¿por qué son los archivos que no se fusionan después de AppleScript se ejecuta youtube-dl?

He cambiado mi AppleScript para este que proporcionó algunos detalles sobre el tema:

on run {input, parameters}
try
    tell application "System Events"
        set pid to do shell script "cd /tmp/; /usr/local/bin/youtube-dl  --newline " & input & " > /tmp/vidstatus 2>&1 & echo $!"
        delay 1
        repeat while ((do shell script "kill -0 " & pid) is "") -- check if pid is still responding
            display dialog "Status: " & (do shell script "tail -n 1 /tmp/vidstatus") -- display last line of output
        end repeat
    end tell
on error
    display notification "YouTube Download Failed" -- show error message
end try end run

Este es el mensaje que me llega de Estado:

Estado: [youtube] IrxpSFtGX1k: Descarga de la página web [youtube] IrxpSFtGX1k: la Descarga de vídeo información de la página web ADVERTENCIA: Se han solicitado varios formatos, pero ffmpeg o avconv no están instalados. Los formatos no se fusionaron.

Esto es extraño, porque obviamente están instalados. La misma solicitud se está trabajando desde la terminal. Estoy probando esta secuencia de comandos desde dentro de Automator-este podría ser el problema?

2voto

John Puntos 16

Hice un poco más de investigación y encontró que necesitaba para agregar la ubicación de ffmpeg binario en el "do shell script" llamada mediante la adición: --ffmpeg-location /usr/local/bin/ffmpeg

on run {input, parameters}
    try
        tell application "System Events"
            set pid to do shell script "cd /tmp/; /usr/local/bin/youtube-dl  --newline --ffmpeg-location /usr/local/bin/ffmpeg " & input & " > /tmp/vidstatus 2>&1 & echo $!"
            delay 1
            repeat while ((do shell script "kill -0 " & pid) is "") -- check if pid is still responding
                display dialog "Status: " & (do shell script "tail -n 1 /tmp/vidstatus") -- display last line of output
                delay 5
            end repeat
        end tell
    on error
        display notification "YouTube Download Finished" -- show error message
    end try
end run

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