就在昨天,我的应用程序抛出了一个我无法弄清楚的奇怪的 ffmpeg 错误:
ffmpeg 退出并显示代码 1:打开输出流 #0:0 的编码器时出错 - 可能是 bit_rate、rate、width 或 height 等参数不正确
ffmpeg 命令本身是:
ffmpeg -f image2 -thread_queue_size 2048 -framerate 15.0 -i /var/www/blahblah/frames/%d.jpg -y -an -vcodec libx264 -pix_fmt yuv420p -preset ultrafast -crf 0 -loglevel info /var/www/blahblah/preview.mp4
基本上我只是根据图像帧生成 MP4,没有声音。这里使用 ffmpeg 版本 3.05:
ffmpeg version 3.0.5-0ubuntu0.16.10.1 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 6.2.0 (Ubuntu 6.2.0-5ubuntu12) 20161005 configuration: --prefix=/usr --extra-version=0ubuntu0.16.10.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-chromaprint --enable-libx264 libavutil 55. 17.103 / 55. 17.103 libavcodec 57. 24.102 / 57. 24.102 libavformat 57. 25.100 / 57. 25.100 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 31.100 / 6. 31.100 libavresample 3. 0. 0 / 3. 0. 0 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
你能发现上述命令中有什么错误会导致这个错误吗?为什么 ffmpeg 会说或许? ffmpeg 难道不能准确说明问题的原因吗?
不幸的是,也没有 ffmpeg 输出的其余部分。因为 stderr 事件似乎只打印错误消息。
谢谢任何提示。