【问题标题】:sh: ffmpeg: command not found using php in onlinesh: ffmpeg: 在线使用 php 找不到命令
【发布时间】:2015-07-16 18:45:31
【问题描述】:

我使用 ffmpeg 从视频生成缩略图。它在本地主机中工作正常。但在线上没有生成,它只是抛出“sh: ffmpeg: command not found”。

我检查了ffmpeg.exe,还给出了视频文件路径和图像目标路径..我怎么了..

 $ffmpeg="ffmpeg.exe";

//time to take screenshot at
    $interval1 = 2;

    //screenshot size
    $size = '320x240';

$cmd1 = "$ffmpeg -i $video -deinterlace -an -ss $interval1 -f mjpeg -t 1 -r 1 -y -s $size $image1 2>&1";

【问题讨论】:

  • 请发布您的本地和生产操作系统。
  • windows 7 在本地,在 live linux 中
  • 而在线环境...是一个虚拟主机或您有一定控制权的东西...您有 ssh 访问...如果它是 *nix 发行版,您可以运行以下命令whereis ffmpeg....
  • 现在我只是像这样检查,但它也会抛出同样的错误。 $cmdstr = $cmd1; $locale = 'en_IN.UTF-8'; setlocale(LC_ALL, $locale); putenv('LC_ALL='.$locale);回声执行($cmd1);

标签: php video ffmpeg


【解决方案1】:

这发生在我身上一次。我通过指定 ffmpeg 可执行文件的实际路径解决了这个问题。 ffmpeg.exe 同样适用于 windows 平台。但是您的错误消息似乎您在 linux 平台上。

如果您在 linux 平台上,只需指定 ffmpeg 可执行文件的路径(主要在 /usr/local/bin/ffmpeg 中)即可解决问题。

如果您使用的是 Windows 服务器,请确保 ffmpeg.exe 的路径正确。我在这段代码中找不到任何错误。

如果你是linux,这个答案值得看sh: ffmpeg: command not found when run command through php

【讨论】:

  • 如何识别 /usr/local/bin/ffmpeg?
  • 你使用的是哪个 linux 平台?
  • oktakes.com/oktakes/admin/ajax/ffmpeg.exe,这是我的 exe 路径。如何切换到 /usr/local/bin/ffmpeg?
  • 不,你不能这样指定路径。你能告诉我你使用的是哪个 LINUX Distro(比如 Ubuntu)吗? ?
  • 对不起,我不知道
猜你喜欢
  • 2021-07-07
  • 2019-08-10
  • 2021-11-13
  • 2019-04-19
  • 2013-05-16
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多