我的问题是我正在尝试转换并在上传按钮上将视频上传为三种格式。当我试图将avi转换为mp4,webm和flv时,我陷入了第一步。我尝试过各种命令转换为mp4和webm,但没有任何效果。它顺利转换为flv。我在互联网上搜索了很多,但没有一个命令工作。我已将execution_time设置为0,并将set_time_limit(0)设置为无限执行时间。这是我试图转换为mp4和webm
的命令**For mp4:**
exec("ffmpeg -i input.avi -c:v libx264 -crf 19 output.mp4");
exec("ffmpeg -i input.avi -c:v libx264 -pix_fmt yuv420p output.mp4");
exec("ffmpeg -i input.avi -c:v libx264 -c:a libfaac \ -movflags +faststart output.mp4");
**For webm**
passthru("ffmpeg -i input.avi output.webm");
passthru("ffmpeg -i input.avi -b 1500k -vcodec libvpx -acodec libvorbis -ab 160000 -f webm -g 30 output.webm");
注意: 对于小于1mb的avi到mp4文件正在成功转换,但是超过1mb的文件显示其转换但其大小为0bytes。
同样,我在将mp4转换为flv时遇到问题。有些文件正在转换,有些则没有。一些大文件正在转换,但一些小文件没有转换。很奇怪。没有权限或php配置设置都没问题。我尝试重命名一个没有转换的文件并上传了。我很困惑为什么会这样。
对这两个问题的任何帮助都非常感谢。
提前致谢。
被修改 / bin $ ffmpeg -v ffmpeg版本0.10.15版权所有(c)2000-2014 FFmpeg开发人员 建于2014年8月30日15:49:19,gcc 4.4.7 20120313(Red Hat 4.4.7-3) 配置: - prefix = / usr --bindir = / usr / bin --datadir = / usr / share / ffmpeg --incdir = / usr / include / ffmpeg --libdir = / usr / lib64 --mandir = / usr / share / man --arch = x86_64 --extra-cflags =' -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE = 2 -fexceptions -fstack-protector --param = ssp-buffer-size = 4 -m64 -mtune = generic' --enable-bzlib --disable-crystalhd --enable-gnutls --enable-libass --enable-libcdio --enable-libcelt --enable-libdc1394 --disable-indev = jack --enable-libfreetype --enable -libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable -libv4l2 --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable -debug --disable-stripping --shlibdir = / usr / lib64 --enable-runtime-cpudetect libavutil 51. 35.100 / 51. 35.100 libavcodec 53. 61.100 / 53. 61.100 libavformat 53. 32.100 / 53. 32.100 libavdevice 53. 4.100 / 53. 4.100 libavfilter 2. 61.100 / 2. 61.100 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 6.100 / 0. 6.100 libpostproc 52. 0.100 / 52. 0.100 缺少选项' v'
的参数答案 0 :(得分:0)
首先,您需要使用未编码的文件调试您的exec。
echo
您的exec
并使用与运行Apache相同的用户将其放入您的shell。
没有ffmpeg的记录我们无法帮助你。
对于我的视频我正在使用它将AVI转换为mp4:
ffmpeg -i 'filename.ext' -threads 0 -c:v libx264 -preset slower -crf 19 -qmin 10 -qmax 51 -c:a libfdk_aac -b:a 128k -y 'output.mp4'