2013-05-15 21 views
0

我有一個PHP腳本來切斷視頻。這裏有三個執行exec()命令 - 兩個正確執行,而一個沒有:php exec()在一些調用上工作,而不是其他類似的調用

作品:

須藤的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是在sudoers與NOPASSWD文件(是的,我知道 - 這僅僅是用於調試之前,我鎖定安全)。

當我本身從運行在命令行PHP腳本的最後一個命令,它的工作。 (以www-data或root身份運行)。但是,當我嘗試將它放入從網頁調用的函數中時,它不起作用。

任何想法?

回答

0

其實,答案是既愚蠢「哪裏WWW的數據知道到哪裏尋找文件嗎?」

我是假設了很多與i0.mpg。它顯然需要一個完全合格的目錄。

不管怎麼說,更改代碼看起來像這樣的工作:

須藤的ffmpeg -i CONCAT: 「在/ var/vidcache/i0.mpg | /var/vidcache/i1.mpg」 -qscale: v 1 /var/vidcache/output.mpg

0

這應該可以解決第三EXEC:

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

Here是如何Concat的在ffmpeg媒體文件的一個很好的維基頁面。

相關問題