[FFmpeg-user] Does the H.263 in FFmpeg support two pass encoding

Ramprasad N ramprasad85 at gmail.com
Thu Apr 9 05:54:42 CEST 2015


Hi,
The second pass shows error (IO error: Error number 0 occurred) but the
file gets generated and looks fine, but I don't know whether it actually
used the 1st pass.

C:\Users\ramprasad>ffmpeg.exe -i foreman_qcif.y4m -b:v 128k -pass 1 -vcodec
h263 -f 3gp -y NUL
ffmpeg version N-69422-gf5722ba Copyright (c) 2000-2015 the FFmpeg
developers
  built on Jan 30 2015 22:02:24 with gcc 4.9.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enable-iconv --enable-libass --enable-libbluray
--enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme
--enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libspeex --enable-libtheora --enable-libtwolame
--enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp
--enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid
--enable-lzma --enable-decklink --enable-zlib
  libavutil      54. 18.100 / 54. 18.100
  libavcodec     56. 21.101 / 56. 21.101
  libavformat    56. 19.100 / 56. 19.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5.  9.102 /  5.  9.102
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, yuv4mpegpipe, from 'foreman_qcif.y4m':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 176x144, 25
fps, 25 tbr, 25 tbn, 25 tbc
Output #0, 3gp, to 'NUL':
  Metadata:
    encoder         : Lavf56.19.100
    Stream #0:0: Video: h263 (s263 / 0x33363273), yuv420p, 176x144, q=2-31,
pass 1, 128 kb/s, 25 fps, 12800 tbn, 25 tbc
    Metadata:
      encoder         : Lavc56.21.101 h263
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h263 (native))
Press [q] to stop, [?] for help
frame=  300 fps=0.0 q=8.6 Lsize=     276kB time=00:00:12.00 bitrate=
188.5kbits/s
video:274kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.707967%

C:\Users\ramprasad>ffmpeg.exe -i foreman_qcif.y4m -b:v 128k -pass 2 -vcodec
h263 -f 3gp -y test.3gp
ffmpeg version N-69422-gf5722ba Copyright (c) 2000-2015 the FFmpeg
developers
  built on Jan 30 2015 22:02:24 with gcc 4.9.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enable-iconv --enable-libass --enable-libbluray
--enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme
--enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr
--enable-libspeex --enable-libtheora --enable-libtwolame
--enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp
--enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid
--enable-lzma --enable-decklink --enable-zlib
  libavutil      54. 18.100 / 54. 18.100
  libavcodec     56. 21.101 / 56. 21.101
  libavformat    56. 19.100 / 56. 19.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5.  9.102 /  5.  9.102
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, yuv4mpegpipe, from 'foreman_qcif.y4m':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 176x144, 25
fps, 25 tbr, 25 tbn, 25 tbc
IO error: Error number 0 occurred
Output #0, 3gp, to 'test.3gp':
  Metadata:
    encoder         : Lavf56.19.100
    Stream #0:0: Video: h263 (s263 / 0x33363273), yuv420p, 176x144, q=2-31,
pass 2, 128 kb/s, 25 fps, 12800 tbn, 25 tbc
    Metadata:
      encoder         : Lavc56.21.101 h263
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h263 (native))
Press [q] to stop, [?] for help
frame=  300 fps=0.0 q=9.0 Lsize=     169kB time=00:00:12.00 bitrate=
115.7kbits/s
video:167kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 1.159217%

Also,
For the same command line, an older version of ffmpeg (dec-2013) fails in
the second pass with the error
[h263 @ 0192FBC0] statistics are damaged at line 0, parser out=0
Error while opening encoder for output stream #0:0 - maybe incorrect
parameters such as bit_rate, rate, width or height

Does h263 (in ffmpeg) support 2 pass encoding?

Thanks


More information about the ffmpeg-user mailing list