FFMPEG 播放叠加视频
FFMPEG play an overlay video
大家好,
我花了好几个小时在视频上放置图像(覆盖)并直接在网络浏览器中播放输出(我在服务器上安装了 FFMPEG)。这是我的资料:
$output = shell_exec($command);
$image = '/image.png';
$video = '/videoin.mp4';
$saved_video_path= "";
$i = "'";
$command = '/usr/local/bin/ffmpeg -i ' . $video . ' -i ' . $image . ' -filter_complex "[0:v][1:v] overlay=10:10:enable=' . $i . 'between(t,5,10)' . $i . '" '.$saved_video_path;
echo "$output";
非常感谢您的帮助!
克里斯
我的服务器上没有安装 FFmpeg,所以我无法确认此解决方案是否有效。
(适用于基于 PHP 的 img
或 video
标签,但未测试涉及 FFmpeg)。
echo '<video width="640" height="480" controls><source src="'.$output.'" type="video/mp4"></video>';
因此您的代码应该如下所示:
$output = shell_exec($command);
$image = '/image.png';
$video = '/videoin.mp4';
$saved_video_path= "";
$i = "'";
$command = '/usr/local/bin/ffmpeg -i ' . $video . ' -i ' . $image . ' -filter_complex "[0:v][1:v] overlay=10:10:enable=' . $i . 'between(t,5,10)' . $i . '" '.$saved_video_path;
//echo "$output";
echo '<video width="640" height="480" controls><source src="'.$output.'" type="video/mp4"></video>';
一些笔记 :
尝试使用:$output = shell_exec('.$command.');
你应该转义你的filter_complex双引号:
示例...
$command = '/usr/local/bin/ffmpeg -i ' . $video . ' -i ' . $image . ' -filter_complex \"[0:v][1:v] overlay=10:10:enable=' . $i . 'between(t,5,10)' . $i . '\"' . $saved_video_path;
- 尝试在 ffmpeg 路径 上仅使用双引号
$command = '"/usr/local/bin/ffmpeg" -i
等
大家好,
我花了好几个小时在视频上放置图像(覆盖)并直接在网络浏览器中播放输出(我在服务器上安装了 FFMPEG)。这是我的资料:
$output = shell_exec($command);
$image = '/image.png';
$video = '/videoin.mp4';
$saved_video_path= "";
$i = "'";
$command = '/usr/local/bin/ffmpeg -i ' . $video . ' -i ' . $image . ' -filter_complex "[0:v][1:v] overlay=10:10:enable=' . $i . 'between(t,5,10)' . $i . '" '.$saved_video_path;
echo "$output";
非常感谢您的帮助!
克里斯
我的服务器上没有安装 FFmpeg,所以我无法确认此解决方案是否有效。
(适用于基于 PHP 的 img
或 video
标签,但未测试涉及 FFmpeg)。
echo '<video width="640" height="480" controls><source src="'.$output.'" type="video/mp4"></video>';
因此您的代码应该如下所示:
$output = shell_exec($command);
$image = '/image.png';
$video = '/videoin.mp4';
$saved_video_path= "";
$i = "'";
$command = '/usr/local/bin/ffmpeg -i ' . $video . ' -i ' . $image . ' -filter_complex "[0:v][1:v] overlay=10:10:enable=' . $i . 'between(t,5,10)' . $i . '" '.$saved_video_path;
//echo "$output";
echo '<video width="640" height="480" controls><source src="'.$output.'" type="video/mp4"></video>';
一些笔记 :
尝试使用:
$output = shell_exec('.$command.');
你应该转义你的filter_complex双引号:
示例...
$command = '/usr/local/bin/ffmpeg -i ' . $video . ' -i ' . $image . ' -filter_complex \"[0:v][1:v] overlay=10:10:enable=' . $i . 'between(t,5,10)' . $i . '\"' . $saved_video_path;
- 尝试在 ffmpeg 路径 上仅使用双引号
$command = '"/usr/local/bin/ffmpeg" -i
等