sin salida de shell_exec cuando se ejecuta ffmpeg

0

Estoy tratando de ejecutar ffmpeg a través de shell_exec en Windows. Mi función no funciona (no se ejecuta, no genera un archivo y no genera ningún resultado desde shell_exec)

function convertFile($audio, $image)
{
    $output = str_replace(".mp3", ".mp4", $audio);
    $shellOutput = shell_exec("ffmpeg  -loop 1 -r 2 -i \"$image\" -i \"$audio\" -shortest -c:v libx264 -preset medium -tune stillimage -crf 28 -c:a copy $output");
    echo $shellOutput;

}

Disculpas si esto es algo obvio. ¡Gracias por cualquier ayuda!

maezr
fuente

Respuestas:

3

Asegúrese de que el usuario del servidor web pueda leer y ejecutar ffmpeg, y que el binario esté en él PATH. Puede solucionar este problema especificando la ruta ffmpegdirectamente, por ejemplo /usr/bin/ffmpeg.

También podría considerar agregar 2>&1a su comando para redirigir stderr a stdout, ya que ffmpeg generará mensajes de depuración a través de stderr, y de lo contrario no los vería. O, deshabilite la salida por completo. Consulte aquí para más información: Uso de FFmpeg desde scripts PHP

slhck
fuente