I havent figured out a common factor that causes it, except maybe large file size/hd video. All the movies I convert are usually avi/ac3. So the only way I can duplicate is to encode a large file with these settings, though not all of them do it. Usually only one in 10 or 12.
From what I have tried, if I dont use 2 pass then filesize cap wont be enforced, and it comes out huge.
I use the log file (as well as using vlc player to test input and output) to determine durations.
My console output is as follows:
ffmpeg version 2.4.6 Copyright (c) 2000-2015 the FFmpeg developers
built on Feb 1 2015 02:48:47 with gcc 4.9.2 (GCC) 20141101 (Red Hat 4.9.2-1)
configuration: –prefix=/usr –bindir=/usr/bin –datadir=/usr/share/ffmpeg –incdir=/usr/include/ffmpeg –libdir=/usr/lib64 –mandir=/usr/share/man –arch=x86_64 –optflags=’-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong –param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic’ –enable-bzlib –disable-crystalhd –enable-frei0r –enable-gnutls –enable-libass –enable-libcdio –enable-libdc1394 –disable-indev=jack –enable-libfreetype –enable-libgsm –enable-libmp3lame –enable-openal –enable-opencl –enable-libopencv –enable-libopenjpeg –enable-libopus –enable-libpulse –enable-libschroedinger –enable-libsoxr –enable-libspeex –enable-libtheora –enable-libvorbis –enable-libv4l2 –enable-libvpx –enable-libx264 –enable-libx265 –enable-libxvid –enable-x11grab –enable-avfilter –enable-avresample –enable-postproc –enable-pthreads –disable-static –enable-shared –enable-gpl –disable-debug –disable-stripping –shlibdir=/usr/lib64 –enable-runtime-cpudetect
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 1.100 / 56. 1.100
libavformat 56. 4.101 / 56. 4.101
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 1.100 / 5. 1.100
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 0.100 / 53. 0.100
[avi @ 0x24ed200] non-interleaved AVI
Input #0, avi, from ‘The.Hobbit.2014.Battle.Of.The.Five.Armies.2014.DVDScr.XVID.AC3.HQ.Hive-CM8.avi’:
Metadata:
encoder : AVI-Mux GUI 1.17.7, Aug 8 2006 20:59:17
JUNK :
Duration: 02:24:17.30, start: 0.000000, bitrate: 1910 kb/s
Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720×304 [SAR 1:1 DAR 45:19], 1679 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 224 kb/s
Metadata:
title : final_fixed
-async is forwarded to lavfi similarly to -af aresample=async=48000:min_hard_comp=0.100000:first_pts=0.
Output #0, dvd, to ‘The.Hobbit.2014.Battle.Of.The.Five.Armies.2014.DVDScr.XVID.AC3.HQ.Hive-CM8-null.mpg’:
Metadata:
JUNK :
encoder : Lavf56.4.101
Stream #0:0: Video: mpeg2video, yuv420p, 720×480 [SAR 40:33 DAR 20:11], q=2-31, pass 1, 6000 kb/s, 29.97 fps, 90k tbn, 29.97 tbc
Metadata:
encoder : Lavc56.1.100 mpeg2video
Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s
Metadata:
title : final_fixed
encoder : Lavc56.1.100 ac3
Stream mapping:
Stream #0:0 -> #0:0 (mpeg4 (native) -> mpeg2video (native))
Stream #0:1 -> #0:1 (ac3 (native) -> ac3 (native))
Press [q] to stop, [?] for help
[mpeg4 @ 0x2529460] Video uses a non-standard and wasteful way to store B-frames (‘packed B-frames’). Consider using a tool like VirtualDub or avidemux to fix it.
frame= 48 fps=0.0 q=2.0 size= 1148kB time=00:00:01.62 bitrate=5781.4kbits/s dup=1 drop=0
frame= 106 fps=104 q=2.0 size= 2104kB time=00:00:03.54 bitrate=4859.8kbits/s dup=1 drop=0
frame= 154 fps=101 q=2.0 size= 2956kB time=00:00:05.11 bitrate=4734.5kbits/s dup=1 drop=0
frame= 210 fps=104 q=2.0 size= 3942kB time=00:00:07.00 bitrate=4611.5kbits/s dup=1 drop=0
frame= 284 fps=112 q=2.0 size= 4692kB time=00:00:09.49 bitrate=4046.6kbits/s dup=1 drop=0
frame= 367 fps=121 q=2.0 size= 5278kB time=00:00:12.25 bitrate=3529.4kbits/s dup=1 drop=0
frame= 453 fps=128 q=2.0 size= 5870kB time=00:00:15.09 bitrate=3184.9kbits/s dup=1 drop=0
frame= 553 fps=137 q=2.0 size= 6236kB time=00:00:18.45 bitrate=2767.6kbits/s dup=1 drop=0
frame= 628 fps=138 q=2.0 size= 7244kB time=00:00:20.92 bitrate=2836.3kbits/s dup=1 drop=0
frame= 676 fps=134 q=2.0 size= 8936kB time=00:00:22.52 bitrate=3250.2kbits/s dup=1 drop=0
[edit – i remove a bunch of these lines as it goes on for several hundred lines. this continues for a while until eventually…]
frame=196236 fps=113 q=2.0 size= 4560170kB time=01:49:07.70 bitrate=5705.3kbits/s dup=1 drop=0
frame=196290 fps=113 q=2.0 size= 4561966kB time=01:49:09.53 bitrate=5706.0kbits/s dup=1 drop=0
frame=196345 fps=113 q=2.0 size= 4563766kB time=01:49:11.38 bitrate=5706.6kbits/s dup=1 drop=0
frame=196407 fps=113 q=2.0 size= 4565078kB time=01:49:13.40 bitrate=5706.5kbits/s dup=1 drop=0
frame=196466 fps=113 q=2.0 size= 4566514kB time=01:49:15.41 bitrate=5706.6kbits/s dup=1 drop=0
frame=196518 fps=113 q=2.0 size= 4568426kB time=01:49:17.14 bitrate=5707.4kbits/s dup=1 drop=0
frame=196577 fps=113 q=2.0 size= 4569986kB time=01:49:19.13 bitrate=5707.7kbits/s dup=1 drop=0
frame=196589 fps=113 q=2.0 Lsize= 4570366kB time=01:49:19.48 bitrate=5707.8kbits/s dup=1 drop=0
video:4122103kB audio:358722kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.998322%