我有一个php脚本,可以剪切视频。这是三个exec()命令-两个正确执行,而一个则不执行:

作品:


  sudo ffmpeg -i /home/vidserver/videos/$filename.mp4 -ss $ ctime -t 00:00:06 -acodec复制-vcodec复制-y /var/vidcache/test$x.mp4


作品:


  须藤ffmpeg -i /var/vidcache/test$x.mp4 -qscale:v 1
  /var/vidcache/i$x.mpg


不起作用:


  须藤ffmpeg -i
  concat:“ i0.mpg | i1.mpg”
  -qscale:v 1 /var/vidcache/output.mpg


/ var / vidcache具有777 privs,并且www-data位于带有NOPASSWD的sudoers文件中(是​​的,我知道-这只是出于调试目的,然后锁定安全性)。

当我从命令行本身通过php脚本运行最后一个命令时,它确实起作用。 (以www-data或root身份运行。)但是,当我尝试将其放在从网页调用的函数中时,它将不起作用。

有任何想法吗?

最佳答案

这应该修复第三个exec:

sudo ffmpeg -i "concat:i0.mpg|i1.mpg" -qscale:v 1 /var/vidcache/output.mpg


Here是一个很好的Wiki页面,介绍了如何在ffmpeg中连接媒体文件。

关于php - php exec()可用于某些调用,而不能用于其他类似的调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16558304/

10-10 04:34