ffmpeg从命令行执行运行,从mod_fcgid完成后截断

时间:2010-09-19 21:57:16

标签: php bash ubuntu ffmpeg

命令行中的ffmpeg生成预览文件和两个单独的双向转换,从shell脚本运行时,成功执行。

通过php的exec(/ usr / bin / ffmpeg)或exec(name_of_shell_script)运行命令会成功生成预览文件。奇怪的行为是电影会产生,然后截断。 ffmpeg日志文件生成成功,我可以看到的输出文件随着转换的继续而变大,然后,当它完成时,文件被截断....

系统上唯一发生变化的事情是从mod_php更改为mod_fcgi和php_cgi,但错误日志显示没有异常,除了

mod_fcgid: stderr: wmv, files3/1qwj, 1qwj.wmv

压制shell的输出

scriptname.sh > /dev/null 2>&1

不会改变结果。

应该使用shell_exec吗?它是unix许可吗?

这是在ubuntu 10.04.1

此解决方案不适用 FFMPEG running in Command Line but not PHP

编辑:

看起来可能与两次传递编码有关。两个传递编码在命令行中工作正常,但是从PHP env中shell会覆盖第二遍传递的内容。

nice -n 11 /usr/bin/ffmpeg -y -i  $1 -r 30000/1001 -b 1M -bt 2M -vcodec libx264 -threads 0  -pass 1 -vpre /usr/share/ffmpeg/libx264-fastfirstpass.ffpreset -an movie.flv 
nice -n 11 /usr/bin/ffmpeg -y -i  $1 -r 30000/1001 -b 1M -bt 2M -vcodec libx264  -threads 0  -pass 2  -vpre /usr/share/ffmpeg/libx264-hq.ffpreset -acodec libfaac -ac 2 -ar 48000 -ab 192k movie.flv 

$ 1 是输入文件名

发现 https://roundup.ffmpeg.org/issue1829

编辑:

这里完成的是日志文件工件

-rw-r--r--     1 www-data www-data        0 2010-09-19 19:02 ffmpeg2pass-0.log
-rw-r--r--     1 www-data www-data        0 2010-09-19 19:02 movie.flv
-rw-r--r--     1 www-data www-data   153466 2010-09-19 19:02 movie.jpg
-rw-r--r--     1 www-data www-data   358803 2010-09-19 19:02 movie_preview.jpg
-rw-r--r--     1 www-data www-data   410283 2010-09-19 19:02 x264_2pass.log
-rw-r--r--     1 www-data www-data  5759257 2010-09-19 19:02 x264_2pass.log.mbtree

应维护者的要求开新票 https://roundup.ffmpeg.org/issue2238

编辑:  看起来问题是wmv文件的音频

http://ubuntuforums.org/showthread.php?t=1074152

1 个答案:

答案 0 :(得分:2)

通过更新ffmpeg和编译来解决问题。 ffmpeg现在支持wmv pro音频文件,我使用的安装不支持。