我创建代码,用于使用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
如何解决这个问题?
请帮助我。
像'"
一样转义"
。
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");
正如 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");