FFMpeg 在命令行中工作但不在 shell_exec 中

FFMpeg working in command line but not in shell_exec

当我使用命令行 (ffmpeg -i dust.mp4 -s 320x240 video.flv 2>&1) 转换视频时,转换效果很好。但是当我使用 php 代码时却没有。代码如下:

echo "Starting ffmpeg...\n\n";
$ffmpeg = "~/ffmpeg_sources/ffmpeg";
echo exec("$ffmpeg  -i dust.mp4 -s 320x240 video.flv 2>&1");
echo "Done.\n";

输出为:

正在启动 ffmpeg...sh: 1: ~/ffmpeg_sources/ffmpeg: 未找到完成。

任何帮助将不胜感激。

提前致谢

使用完整路径:

echo exec("/root/example/ffmpeg_sources/ffmpeg -i /home/site/etc/dust.mp4 -s 320x240 /home/site/etc/video.flv 2>&1");

确保 php 具有 read/execute 权限:

/root/example/ffmpeg_sources/ffmpeg

写入权限:

/home/site/etc/

读取权限:

/home/site/etc/dust.mp4

我已经回答了同样的问题,看看那个答案,你就会知道你做错了什么。

我们使用 ffmpeg 创建视频缩略图。

在Linux系统(centos 6.x)ffmpeg安装过程及Php例子:-

这个过程是在我的 centos 6 中完成的,并使用 php 创建了缩略图。

点击这个linkFfmpeg for video thumbnail creation