-1

我创建了使用 ffmpeg 将徽标添加到视频的代码。

ffmpeg -i 1.mp4 -i a.jpg -filter_complex "overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2" outputvideo.mp4

当我在 windows dos 中使用此代码时,没有问题并添加了徽标,但是当我将其与 PHP 一起使用时,它给了我一个错误。

PHP:

<?php
    echo "Starting ffmpeg...\n\n";
    echo shell_exec("ffmpeg -i 1.mp4 -i a.jpg -filter_complex "overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2" outputvideo.mp4");
    echo "Done.\n";
?>

错误:

Parse error: syntax error, unexpected 'overlay' (T_STRING) in C:\xampp\htdocs\tts\2.php on line 3

如何解决这个问题?

请帮我。

4

2 回答 2

2

逃之"类的\"

echo shell_exec("ffmpeg -i 1.mp4 -i a.jpg -filter_complex \"overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2\" outputvideo.mp4");
于 2013-10-02T09:29:34.010 回答
0

正如 Glavic 所指出的,您需要转义字符串中的双引号,因此您的命令应如下所示:

 echo shell_exec("ffmpeg -i 1.mp4 -i a.jpg -filter_complex \"overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2\" outputvideo.mp4");
于 2013-10-02T09:30:00.737 回答