Php 无法使用exec命令来使用ffmpeg
我研究ffmpeg的使用已经有一段时间了,似乎有点让我困惑。最后我发现,如果系统上安装了ffmpeg,PHP的exec命令可以帮助执行ffmpeg命令。我在下面创建了php脚本:Php 无法使用exec命令来使用ffmpeg,php,ffmpeg,Php,Ffmpeg,我研究ffmpeg的使用已经有一段时间了,似乎有点让我困惑。最后我发现,如果系统上安装了ffmpeg,PHP的exec命令可以帮助执行ffmpeg命令。我在下面创建了php脚本: exec("ffmpeg -i C:\Users\sameeksha\Downloads\v.mp4 -ar 22050 -ab 32 -f flv -s 320x240 C:\FFMPEG\video.flv", $output, $return); if($return) { ech
exec("ffmpeg -i C:\Users\sameeksha\Downloads\v.mp4 -ar 22050 -ab 32 -f flv -s 320x240 C:\FFMPEG\video.flv", $output, $return);
if($return) {
echo "created ".$output;
}
else
echo "not ".$output;
从命令行运行的同一个命令正在创建转换后的视频,但当我将其作为PHP脚本运行时,它不会。我甚至为ffmpeg安装了dll文件,但仍然不适用于我
任何帮助都将不胜感激 您需要在双引号字符串中转义反斜杠 示例:
C:\FFMPEG\video.flv
需要是C:\\FFMPEG\\video.flv
或者只使用斜杠:
C:/FFMPEG/video.flv
您还可以将命令用撇号而不是引号括起来,因为撇号禁止转义序列,前提是\
不是输入中的最后一个字符
exec('ffmpeg -i ... ', $output, $return);
您需要在双引号字符串中转义反斜杠 示例:
C:\FFMPEG\video.flv
需要是C:\\FFMPEG\\video.flv
或者只使用斜杠:
C:/FFMPEG/video.flv
您还可以将命令用撇号而不是引号括起来,因为撇号禁止转义序列,前提是\
不是输入中的最后一个字符
exec('ffmpeg -i ... ', $output, $return);
您需要在双引号字符串中转义反斜杠 示例:
C:\FFMPEG\video.flv
需要是C:\\FFMPEG\\video.flv
或者只使用斜杠:
C:/FFMPEG/video.flv
您还可以将命令用撇号而不是引号括起来,因为撇号禁止转义序列,前提是\
不是输入中的最后一个字符
exec('ffmpeg -i ... ', $output, $return);
您需要在双引号字符串中转义反斜杠 示例:
C:\FFMPEG\video.flv
需要是C:\\FFMPEG\\video.flv
或者只使用斜杠:
C:/FFMPEG/video.flv
您还可以将命令用撇号而不是引号括起来,因为撇号禁止转义序列,前提是\
不是输入中的最后一个字符
exec('ffmpeg -i ... ', $output, $return);
尝试使用ffmpeg文件的完整路径。从web服务器(例如:apache)运行时,命令从web服务器用户(例如:名为“apache”的用户)运行。用户apache可能看不到ffmpeg文件。使用命令行时,脚本在运行该命令的用户(可能是您的帐户)下运行,这意味着它可以看到该文件,因为它已添加到path环境变量中。请尝试使用ffmpeg文件的完整路径。从web服务器(例如:apache)运行时,命令从web服务器用户(例如:名为“apache”的用户)运行。用户apache可能看不到ffmpeg文件。使用命令行时,脚本在运行该命令的用户(可能是您的帐户)下运行,这意味着它可以看到该文件,因为它已添加到path环境变量中。请尝试使用ffmpeg文件的完整路径。从web服务器(例如:apache)运行时,命令从web服务器用户(例如:名为“apache”的用户)运行。用户apache可能看不到ffmpeg文件。使用命令行时,脚本在运行该命令的用户(可能是您的帐户)下运行,这意味着它可以看到该文件,因为它已添加到path环境变量中。请尝试使用ffmpeg文件的完整路径。从web服务器(例如:apache)运行时,命令从web服务器用户(例如:名为“apache”的用户)运行。用户apache可能看不到ffmpeg文件。使用命令行时,脚本在运行该命令的用户(很可能是您的帐户)下运行,这意味着它可以看到该文件,因为它已添加到path环境变量中。