命令行中的ffmpeg生成预览文件和两个单独的两次转换,在从shell脚本运行时,成功执行。
通过php的exec(/usr/bin/ffmpeg)或通过exec(name_of_shell_script)运行命令可以成功地生成预览文件。THe奇怪的行为是电影会产生,然后截断。成功地生成了ffmpeg日志文件,我可以观察到的输出文件随着转换的继续而增大,然后,当它完成时,文件会被截断.
系统上唯一改变的是从mod_php到mod_fcgi和php_cgi,但是错误日志显示除了
mod_fcgid: stderr: wmv, files3/1qwj, 1qwj.wmv
抑制壳的输出
scriptname.sh > /dev/null 2>&1
不会改变结果。
应该使用shell_exec吗?这是unix许可吗?
这是在ubuntu 10.04.1里
此解决方案不适用于FFMPEG running in Command Line but not PHP
编辑:
看上去这可能和两遍编码有关。两次pass编码从命令行可以很好地工作,但是在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文件的音频
发布于 2010-09-20 05:31:10
通过更新ffmpeg和编译解决了问题。wmv音频文件现在在ffmpeg中被支持,并且我使用的安装不支持。
https://stackoverflow.com/questions/3747648
复制相似问题