我有一个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/