[FFmpeg-trac] #5856(undetermined:new): filter_complex significantly slower than -vf for the same task.

FFmpeg trac at avcodec.org
Tue Sep 20 18:04:16 EEST 2016


#5856: filter_complex significantly slower than -vf for the same task.
-------------------------------------+-------------------------------------
             Reporter:  Zibri        |                     Type:  defect
               Status:  new          |                 Priority:  important
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
  vf,filter_complex,speed,bitrate    |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 To record from webcam and microphone and overlay a resized logo, using
 complex_filter I achieve about 20fps (on a fast pc with less than 15% cpu
 load), using the same features but with -vf I get full realtime 30fps...
 I know this is normal because the complex filter has more options and it's
 more flexible, but IMHO this should not happen...

 Example:
 Record live feed from webcam and microphone, overlay a logo and save to
 flv..

 ffmpeg -f dshow -video_size qpal -rtbufsize 1G -copyts -framerate 30 -i
 video="BisonCam, NB Pro" -i "C:\Users\Zibri\Downloads\scdc.png"
 -filter_complex "[1]scale=80x60,[0]overlay=W-w-5:H-h-5" -f dshow -i
 audio="Microphone (Realtek High Definition Audio)"  -codec:v libx264
 -preset fast -b:v 500k -b:a 128k -minrate 500k -maxrate 500k -bufsize
 1500k -f flv test7.flv

 result:

 {{{
 ffmpeg version N-81696-gd38dff8e Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 5.4.0 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-
 bzlib --enable-libebur128 --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-libopenh264
 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
 libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex
 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-
 amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-
 libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-
 libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
   libavutil      55. 29.100 / 55. 29.100
   libavcodec     57. 57.100 / 57. 57.100
   libavformat    57. 49.100 / 57. 49.100
   libavdevice    57.  0.102 / 57.  0.102
   libavfilter     6. 62.100 /  6. 62.100
   libswscale      4.  1.100 /  4.  1.100
   libswresample   2.  1.100 /  2.  1.100
   libpostproc    54.  0.100 / 54.  0.100
 Input #0, dshow, from 'video=BisonCam, NB Pro':
   Duration: N/A, start: 128270.189000, bitrate: N/A
     Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p(pc,
 bt470bg/unknown/unknown), 352x288, 30 fps, 30 tbr, 10000k tbn, 10000k tbc
 Input #1, png_pipe, from 'C:\Users\Zibri\Downloads\scdc.png':
   Duration: N/A, bitrate: N/A
     Stream #1:0: Video: png, rgba(pc), 244x224 [SAR 5905:5905 DAR 61:56],
 25 tbr, 25 tbn, 25 tbc
 Guessed Channel Layout for Input Stream #2.0 : stereo
 Input #2, dshow, from 'audio=Microphone (Realtek High Definition Audio)':
   Duration: N/A, start: 128270.631000, bitrate: 1411 kb/s
     Stream #2:0: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
 File 'test7.flv' already exists. Overwrite ? [y/N] y
 [swscaler @ 00000000074504a0] deprecated pixel format used, make sure you
 did set range correctly
 No pixel format specified, yuvj420p for H.264 encoding chosen.
 Use -pix_fmt yuv420p for compatibility with outdated media players.
 [libx264 @ 0000000002627c00] using cpu capabilities: MMX2 SSE2Fast SSSE3
 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
 [libx264 @ 0000000002627c00] profile High, level 1.3
 [libx264 @ 0000000002627c00] 264 - core 148 r2705 3f5ed56 - H.264/MPEG-4
 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html -
 options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6
 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1
 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=9
 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0
 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1
 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25
 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=cbr mbtree=1 bitrate=500
 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=500
 vbv_bufsize=1500 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
 [flv @ 00000000026ae8e0] Using AVStream.codec to pass codec parameters to
 muxers is deprecated, use AVStream.codecpar instead.
     Last message repeated 1 times
 Output #0, flv, to 'test7.flv':
   Metadata:
     encoder         : Lavf57.49.100
     Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007),
 yuvj420p(pc), 352x288, q=-1--1, 500 kb/s, 30 fps, 1k tbn, 30 tbc (default)
     Metadata:
       encoder         : Lavc57.57.100 libx264
     Side data:
       cpb: bitrate max/min/avg: 500000/0/500000 buffer size: 1500000
 vbv_delay: -1
     Stream #0:1: Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 44100
 Hz, stereo, s16p, 128 kb/s
     Metadata:
       encoder         : Lavc57.57.100 libmp3lame
 Stream mapping:
   Stream #0:0 (mjpeg) -> overlay:main (graph 0)
   Stream #1:0 (png) -> scale (graph 0)
   overlay (graph 0) -> Stream #0:0 (libx264)
   Stream #2:0 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame))
 Press [q] to stop, [?] for help
 [dshow @ 00000000025c2cc0] Thread message queue blocking; consider raising
 the thread_queue_size option (current value: 8)
 frame=   43 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
 speed=   frame=   51 fps= 50 q=22.0 size=      50kB time=35:37:51.02
 bitrate=   0.0kbits/frame=   58 fps= 38 q=24.0 size=      84kB
 time=35:37:51.53 bitrate=   0.0kbits/frame=   66 fps= 33 q=24.0 size=
 124kB time=35:37:52.03 bitrate=   0.0kbits/frame=   74 fps= 29 q=23.0
 size=     159kB time=35:37:52.52 bitrate=   0.0kbits/frame=   81 fps= 27
 q=22.0 size=     188kB time=35:37:53.02 bitrate=   0.0kbits/frame=   89
 fps= 25 q=23.0 size=     228kB time=35:37:53.51 bitrate=   0.0kbits/frame=
 96 fps= 24 q=23.0 size=     265kB time=35:37:54.01 bitrate=
 0.0kbits/frame=  104 fps= 23 q=22.0 size=     304kB time=35:37:54.53
 bitrate=   0.0kbits/frame=  111 fps= 22 q=22.0 size=     335kB
 time=35:37:55.03 bitrate=   0.0kbits/frame=  119 fps= 21 q=21.0 size=
 372kB time=35:37:55.52 bitrate=   0.0kbits/frame=  126 fps= 21 q=22.0
 size=     407kB time=35:37:56.02 bitrate=   0.0kbits/frame=  134 fps= 20
 q=22.0 size=     446kB time=35:37:56.52 bitrate=   0.0kbits/frame=  141
 fps= 20 q=22.0 size=     481kB time=35:37:57.01 bitrate=   0.0kbits/frame=
 149 fps= 20 q=22.0 size=     521kB time=35:37:57.51 bitrate=
 0.0kbits/frame=  157 fps= 19 q=22.0 size=     561kB time=35:37:58.03
 bitrate=   0.0kbits/frame=  164 fps= 19 q=22.0 size=     593kB
 time=35:37:58.53 bitrate=   0.0kbits/frame=  172 fps= 19 q=22.0 size=
 633kB time=35:37:59.02 bitrate=   0.0kbits/frame=  179 fps= 19 q=22.0
 size=     670kB time=35:37:59.52 bitrate=   0.0kbits/frame=  187 fps= 19
 q=22.0 size=     711kB time=35:38:00.02 bitrate=   0.0kbits/frame=  194
 fps= 18 q=22.0 size=     746kB time=35:38:00.51 bitrate=   0.0kbits/frame=
 202 fps= 18 q=22.0 size=     786kB time=35:38:01.01 bitrate=
 0.1kbits/frame=  210 fps= 18 q=22.0 size=     825kB time=35:38:01.53
 bitrate=   0.1kbits/frame=  217 fps= 18 q=23.0 size=     862kB
 time=35:38:02.03 bitrate=   0.1kbits/frame=  225 fps= 18 q=23.0 size=
 905kB time=35:38:02.53 bitrate=   0.1kbits/frame=  232 fps= 18 q=20.0
 size=     936kB time=35:38:03.02 bitrate=   0.1kbits/frame=  240 fps= 18
 q=24.0 size=     980kB time=35:38:03.52 bitrate=   0.1kbits/frame=  247
 fps= 17 q=24.0 size=    1024kB time=35:38:04.01 bitrate=   0.1kbits/frame=
 255 fps= 17 q=24.0 size=    1067kB time=35:38:04.51 bitrate=
 0.1kbits/frame=  263 fps= 17 q=24.0 size=    1111kB time=35:38:05.03
 bitrate=   0.1kbits/frame=  270 fps= 17 q=23.0 size=    1152kB
 time=35:38:05.53 bitrate=   0.1kbits/frame=  278 fps= 17 q=23.0 size=
 1195kB time=35:38:06.03 bitrate=   0.1kbits/frame=  285 fps= 17 q=24.0
 size=    1231kB time=35:38:06.52 bitrate=   0.1kbits/frame=  293 fps= 17
 q=24.0 size=    1267kB time=35:38:07.02 bitrate=   0.1kbits/frame=  301
 fps= 17 q=23.0 size=    1320kB time=35:38:07.52 bitrate=   0.1kbits/frame=
 308 fps= 17 q=24.0 size=    1358kB time=35:38:08.01 bitrate=
 0.1kbits/frame=  316 fps= 17 q=24.0 size=    1396kB time=35:38:08.53
 bitrate=   0.1kbits/frame=  323 fps= 17 q=23.0 size=    1427kB
 time=35:38:09.03 bitrate=   0.1kbits/frame=  331 fps= 17 q=23.0 size=
 1462kB time=35:38:09.53 bitrate=   0.1kbits/frame=  338 fps= 17 q=23.0
 size=    1494kB time=35:38:10.02 bitrate=   0.1kbits/frame=  346 fps= 17
 q=24.0 size=    1536kB time=35:38:10.52 bitrate=   0.1kbits/frame=  353
 fps= 17 q=23.0 size=    1572kB time=35:38:11.01 bitrate=   0.1kbits/frame=
 361 fps= 17 q=23.0 size=    1617kB time=35:38:11.51 bitrate=
 0.1kbits/frame=  369 fps= 17 q=24.0 size=    1663kB time=35:38:12.03
 bitrate=   0.1kbits/frame=  376 fps= 17 q=24.0 size=    1701kB
 time=35:38:12.53 bitrate=   0.1kbits/frame=  384 fps= 17 q=23.0 size=
 1743kB time=35:38:13.03 bitrate=   0.1kbits/frame=  391 fps= 16 q=23.0
 size=    1772kB time=35:38:13.52 bitrate=   0.1kbits/frame=  399 fps= 16
 q=23.0 size=    1810kB time=35:38:14.02 bitrate=   0.1kbits/frame=  406
 fps= 16 q=23.0 size=    1842kB time=35:38:14.52 bitrate=   0.1kbits/frame=
 414 fps= 16 q=23.0 size=    1885kB time=35:38:15.01 bitrate=
 0.1kbits/frame=  422 fps= 16 q=23.0 size=    1926kB time=35:38:15.54
 bitrate=   0.1kbits/frame=  429 fps= 16 q=23.0 size=    1972kB
 time=35:38:16.03 bitrate=   0.1kbits/frame=  437 fps= 16 q=23.0 size=
 2015kB time=35:38:16.53 bitrate=   0.1kbits/frame=  444 fps= 16 q=23.0
 size=    2053kB time=35:38:17.02 bitrate=   0.1kbits/frame=  452 fps= 16
 q=22.0 size=    2090kB time=35:38:17.52 bitrate=   0.1kbits/frame=  460
 fps= 16 q=22.0 size=    2125kB time=35:38:18.02 bitrate=   0.1kbits/frame=
 467 fps= 16 q=21.0 size=    2157kB time=35:38:18.51 bitrate=
 0.1kbits/frame=  475 fps= 16 q=22.0 size=    2197kB time=35:38:19.03
 bitrate=   0.1kbits/frame=  482 fps= 16 q=22.0 size=    2229kB
 time=35:38:19.53 bitrate=   0.1kbits/frame=  490 fps= 16 q=22.0 size=
 2268kB time=35:38:20.03 bitrate=   0.1kbits/frame=  497 fps= 16 q=22.0
 size=    2304kB time=35:38:20.52 bitrate=   0.1kbits/frame=  505 fps= 16
 q=22.0 size=    2344kB time=35:38:21.02 bitrate=   0.1kbits/frame=  513
 fps= 16 q=22.0 size=    2383kB time=35:38:21.52 bitrate=   0.2kbits/frame=
 520 fps= 16 q=22.0 size=    2417kB time=35:38:22.01 bitrate=
 0.2kbits/frame=  528 fps= 16 q=22.0 size=    2456kB time=35:38:22.53
 bitrate=   0.2kbits/frame=  535 fps= 16 q=22.0 size=    2490kB
 time=35:38:23.03 bitrate=   0.2kbits/frame=  543 fps= 16 q=23.0 size=
 2526kB time=35:38:23.53 bitrate=   0.2kbits/frame=  550 fps= 16 q=22.0
 size=    2579kB time=35:38:24.03 bitrate=   0.2kbits/frame=  558 fps= 16
 q=22.0 size=    2618kB time=35:38:24.52 bitrate=   0.2kbits/frame=  566
 fps= 16 q=22.0 size=    2657kB time=35:38:25.02 bitrate=   0.2kbits/frame=
 573 fps= 16 q=22.0 size=    2691kB time=35:38:25.51 bitrate=
 0.2kbits/frame=  581 fps= 16 q=22.0 size=    2730kB time=35:38:26.01
 bitrate=   0.2kbits/frame=  588 fps= 16 q=22.0 size=    2762kB
 time=35:38:26.53 bitrate=   0.2kbits/frame=  596 fps= 16 q=22.0 size=
 2801kB time=35:38:27.03 bitrate=   0.2kbits/frame=  604 fps= 16 q=22.0
 size=    2840kB time=35:38:27.52 bitrate=   0.2kbits/frame=  611 fps= 16
 q=22.0 size=    2875kB time=35:38:28.02 bitrate=   0.2kbits/frame=  619
 fps= 16 q=22.0 size=    2915kB time=35:38:28.52 bitrate=   0.2kbits/frame=
 626 fps= 16 q=22.0 size=    2952kB time=35:38:29.01 bitrate=
 0.2kbits/frame=  634 fps= 16 q=22.0 size=    2991kB time=35:38:29.51
 bitrate=   0.2kbits/frame=  641 fps= 16 q=21.0 size=    3025kB
 time=35:38:30.03 bitrate=   0.2kbits/frame=  649 fps= 16 q=24.0 size=
 3066kB time=35:38:30.53 bitrate=   0.2kbits/frame=  650 fps= 16 q=-1.0
 Lsize=    3252kB time=35:38:33.37 bitrate=   0.2kbits/s speed=3.08e+003x
 }}}

 Same command using -vf
 ffmpeg -f dshow -video_size qpal -rtbufsize 1G -copyts -framerate 30 -i
 video="BisonCam, NB Pro" -f dshow -i audio="Microphone (Realtek High
 Definition Audio)" -vf "movie=scdc.png,scale=80x60
 [watermark];[in][watermark] overlay=main_w-overlay_w-5:main_h-
 overlay_h-5,fps=30 [out]" -codec:v libx264 -preset slow -b:v 500k -b:a
 128k -minrate 500k -maxrate 500k -bufsize 1500k -f flv test8.flv

 Result:

 {{{
 ffmpeg version N-81696-gd38dff8e Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 5.4.0 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-
 bzlib --enable-libebur128 --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-libopenh264
 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
 libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex
 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-
 amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-
 libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-
 libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
   libavutil      55. 29.100 / 55. 29.100
   libavcodec     57. 57.100 / 57. 57.100
   libavformat    57. 49.100 / 57. 49.100
   libavdevice    57.  0.102 / 57.  0.102
   libavfilter     6. 62.100 /  6. 62.100
   libswscale      4.  1.100 /  4.  1.100
   libswresample   2.  1.100 /  2.  1.100
   libpostproc    54.  0.100 / 54.  0.100
 Input #0, dshow, from 'video=BisonCam, NB Pro':
   Duration: N/A, start: 127887.407000, bitrate: N/A
     Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p(pc,
 bt470bg/unknown/unknown), 352x288, 30 fps, 30 tbr, 10000k tbn, 10000k tbc
 Guessed Channel Layout for Input Stream #1.0 : stereo
 Input #1, dshow, from 'audio=Microphone (Realtek High Definition Audio)':
   Duration: N/A, start: 127887.822000, bitrate: 1411 kb/s
     Stream #1:0: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
 [swscaler @ 00000000081166e0] deprecated pixel format used, make sure you
 did set range correctly
 No pixel format specified, yuvj420p for H.264 encoding chosen.
 Use -pix_fmt yuv420p for compatibility with outdated media players.
 [libx264 @ 00000000024efba0] using cpu capabilities: MMX2 SSE2Fast SSSE3
 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
 [libx264 @ 00000000024efba0] profile High, level 1.3
 [libx264 @ 00000000024efba0] 264 - core 148 r2705 3f5ed56 - H.264/MPEG-4
 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html -
 options: cabac=1 ref=5 deblock=1:0:0 analyse=0x3:0x113 me=umh subme=8
 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1
 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=9
 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0
 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=2
 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25
 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=cbr mbtree=1 bitrate=500
 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=500
 vbv_bufsize=1500 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
 [flv @ 00000000080fbae0] Using AVStream.codec to pass codec parameters to
 muxers is deprecated, use AVStream.codecpar instead.
     Last message repeated 1 times
 Output #0, flv, to 'test8.flv':
   Metadata:
     encoder         : Lavf57.49.100
     Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007),
 yuvj420p(pc), 352x288, q=-1--1, 500 kb/s, 30 fps, 1k tbn, 30 tbc
     Metadata:
       encoder         : Lavc57.57.100 libx264
     Side data:
       cpb: bitrate max/min/avg: 500000/0/500000 buffer size: 1500000
 vbv_delay: -1
     Stream #0:1: Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 44100
 Hz, stereo, s16p, 128 kb/s
     Metadata:
       encoder         : Lavc57.57.100 libmp3lame
 Stream mapping:
   Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
   Stream #1:0 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame))
 Press [q] to stop, [?] for help
 [dshow @ 00000000024b2cc0] Thread message queue blocking; consider raising
 the thread_queue_size option (current value: 8)
 frame=   42 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A
 speed=   frame=   58 fps= 57 q=0.0 size=       0kB time=00:00:00.00
 bitrate=N/A speed=   frame=   74 fps= 48 q=28.0 size=      35kB
 time=35:31:28.21 bitrate=   0.0kbits/frame=   88 fps= 43 q=25.0 size=
 54kB time=35:31:28.21 bitrate=   0.0kbits/frame=  104 fps= 41 q=25.0 size=
 91kB time=35:31:28.72 bitrate=   0.0kbits/frame=  118 fps= 39 q=26.0 size=
 130kB time=35:31:29.22 bitrate=   0.0kbits/frame=  134 fps= 38 q=26.0
 size=     172kB time=35:31:29.71 bitrate=   0.0kbits/frame=  148 fps= 36
 q=23.0 size=     203kB time=35:31:30.21 bitrate=   0.0kbits/frame=  164
 fps= 36 q=23.0 size=     242kB time=35:31:30.70 bitrate=   0.0kbits/frame=
 180 fps= 35 q=23.0 size=     281kB time=35:31:31.72 bitrate=
 0.0kbits/frame=  194 fps= 35 q=23.0 size=     316kB time=35:31:31.72
 bitrate=   0.0kbits/frame=  210 fps= 34 q=23.0 size=     358kB
 time=35:31:32.72 bitrate=   0.0kbits/frame=  226 fps= 34 q=23.0 size=
 398kB time=35:31:33.21 bitrate=   0.0kbits/frame=  240 fps= 34 q=25.0
 size=     436kB time=35:31:33.71 bitrate=   0.0kbits/frame=  256 fps= 34
 q=23.0 size=     476kB time=35:31:34.20 bitrate=   0.0kbits/frame=  272
 fps= 33 q=24.0 size=     519kB time=35:31:34.70 bitrate=   0.0kbits/frame=
 286 fps= 33 q=24.0 size=     555kB time=35:31:35.22 bitrate=
 0.0kbits/frame=  302 fps= 33 q=24.0 size=     596kB time=35:31:35.72
 bitrate=   0.0kbits/frame=  316 fps= 33 q=24.0 size=     650kB
 time=35:31:36.22 bitrate=   0.0kbits/frame=  332 fps= 33 q=25.0 size=
 692kB time=35:31:36.71 bitrate=   0.0kbits/frame=  346 fps= 32 q=24.0
 size=     725kB time=35:31:37.21 bitrate=   0.0kbits/frame=  362 fps= 32
 q=23.0 size=     764kB time=35:31:37.70 bitrate=   0.0kbits/frame=  378
 fps= 32 q=23.0 size=     802kB time=35:31:38.20 bitrate=   0.1kbits/frame=
 392 fps= 32 q=23.0 size=     836kB time=35:31:38.72 bitrate=
 0.1kbits/frame=  408 fps= 32 q=24.0 size=     875kB time=35:31:39.22
 bitrate=   0.1kbits/frame=  424 fps= 32 q=25.0 size=     915kB
 time=35:31:39.72 bitrate=   0.1kbits/frame=  438 fps= 32 q=25.0 size=
 951kB time=35:31:40.21 bitrate=   0.1kbits/frame=  455 fps= 32 q=26.0
 size=    1001kB time=35:31:40.71 bitrate=   0.1kbits/frame=  468 fps= 32
 q=26.0 size=    1040kB time=35:31:41.20 bitrate=   0.1kbits/frame=  484
 fps= 32 q=25.0 size=    1090kB time=35:31:41.70 bitrate=   0.1kbits/frame=
 498 fps= 32 q=25.0 size=    1130kB time=35:31:42.22 bitrate=
 0.1kbits/frame=  515 fps= 32 q=26.0 size=    1181kB time=35:31:42.72
 bitrate=   0.1kbits/frame=  530 fps= 32 q=26.0 size=    1218kB
 time=35:31:43.22 bitrate=   0.1kbits/frame=  544 fps= 32 q=26.0 size=
 1253kB time=35:31:43.71 bitrate=   0.1kbits/frame=  559 fps= 32 q=26.0
 size=    1289kB time=35:31:44.21 bitrate=   0.1kbits/frame=  575 fps= 32
 q=25.0 size=    1343kB time=35:31:44.70 bitrate=   0.1kbits/frame=  590
 fps= 31 q=26.0 size=    1379kB time=35:31:45.20 bitrate=   0.1kbits/frame=
 605 fps= 31 q=24.0 size=    1415kB time=35:31:45.72 bitrate=
 0.1kbits/frame=  621 fps= 31 q=25.0 size=    1451kB time=35:31:46.22
 bitrate=   0.1kbits/frame=  635 fps= 31 q=25.0 size=    1485kB
 time=35:31:46.72 bitrate=   0.1kbits/frame=  651 fps= 31 q=24.0 size=
 1520kB time=35:31:47.21 bitrate=   0.1kbits/frame=  665 fps= 31 q=26.0
 size=    1555kB time=35:31:47.71 bitrate=   0.1kbits/frame=  681 fps= 31
 q=23.0 size=    1589kB time=35:31:48.21 bitrate=   0.1kbits/frame=  696
 fps= 31 q=26.0 size=    1624kB time=35:31:48.70 bitrate=   0.1kbits/frame=
 711 fps= 31 q=23.0 size=    1664kB time=35:31:49.22 bitrate=
 0.1kbits/frame=  727 fps= 31 q=23.0 size=    1706kB time=35:31:49.72
 bitrate=   0.1kbits/frame=  741 fps= 31 q=24.0 size=    1747kB
 time=35:31:50.22 bitrate=   0.1kbits/frame=  757 fps= 31 q=24.0 size=
 1788kB time=35:31:50.71 bitrate=   0.1kbits/frame=  771 fps= 31 q=-1.0
 Lsize=    1964kB time=35:31:53.00 bitrate=   0.1kbits/s speed=5.08e+003x
 }}}

 The fisrt command settles after a few minutes around 10-15 fps.
 The second one stays steady at 30 fps (camera is 30fps).

 Note the bitrate is also broken and showing wrong.

 Another note: when playing with ffplay I get normal video in both cases...
 and ffplay says it's 30fps anso "test7" which as you saw goes down to 16
 when recording..

 {{{
 ffplay test7.flv
 ffplay version N-81696-gd38dff8e Copyright (c) 2003-2016 the FFmpeg
 developers
   built with gcc 5.4.0 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-
 bzlib --enable-libebur128 --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-libopenh264
 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
 libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex
 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-
 amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-
 libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-
 libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
   libavutil      55. 29.100 / 55. 29.100
   libavcodec     57. 57.100 / 57. 57.100
   libavformat    57. 49.100 / 57. 49.100
   libavdevice    57.  0.102 / 57.  0.102
   libavfilter     6. 62.100 /  6. 62.100
   libswscale      4.  1.100 /  4.  1.100
   libswresample   2.  1.100 /  2.  1.100
   libpostproc    54.  0.100 / 54.  0.100
 [flv @ 000000000068cf20] video stream discovered after head already parsed
 [flv @ 000000000068cf20] audio stream discovered after head already parsed
 Input #0, flv, from 'test7.flv':
   Metadata:
     encoder         : Lavf57.49.100
   Duration: 00:00:43.47, start: 128270.205000, bitrate: 612 kb/s
     Stream #0:0: Video: h264 (High), yuvj420p(pc), 352x288, 30.30 fps, 15
 tbr, 1k tbn, 60 tbc
     Stream #0:1: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s
 [swscaler @ 0000000003697f80] deprecated pixel format used, make sure you
 did set range correctly
 128310.59 A-V:-27.441 fd=   4 aq=    0KB vq=    0KB sq=    0B f=0/0
 }}}

 and this is ffplay output for test8.flv (which encoded at 30fps)

 {{{
 ffplay test8.flv
 ffplay version N-81696-gd38dff8e Copyright (c) 2003-2016 the FFmpeg
 developers
   built with gcc 5.4.0 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-
 bzlib --enable-libebur128 --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-libopenh264
 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
 libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex
 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-
 amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-
 libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-
 libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
   libavutil      55. 29.100 / 55. 29.100
   libavcodec     57. 57.100 / 57. 57.100
   libavformat    57. 49.100 / 57. 49.100
   libavdevice    57.  0.102 / 57.  0.102
   libavfilter     6. 62.100 /  6. 62.100
   libswscale      4.  1.100 /  4.  1.100
   libswresample   2.  1.100 /  2.  1.100
   libpostproc    54.  0.100 / 54.  0.100
 [flv @ 000000000002cf20] video stream discovered after head already parsed
 [flv @ 000000000002cf20] audio stream discovered after head already parsed
 Input #0, flv, from 'test8.flv':
   Metadata:
     encoder         : Lavf57.49.100
   Duration: 00:00:25.77, start: 127887.400000, bitrate: 624 kb/s
     Stream #0:0: Video: h264 (High), yuvj420p(pc), 352x288, 30.30 fps, 30
 tbr, 1k tbn, 60 tbc
     Stream #0:1: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s
 [swscaler @ 00000000032eec40] deprecated pixel format used, make sure you
 did set range correctly
 127911.28 A-V: -7.358 fd=  10 aq=    0KB vq=    0KB sq=    0B f=0/0
 }}}

 And here is ffprobe output:

 {{{
 C:\>ffprobe -v error -select_streams v:0 -show_entries
 stream=avg_frame_rate -of default=noprint_wrappers=1:nokey=1 test7.flv
 1000/33

 C:\>ffprobe -v error -select_streams v:0 -show_entries
 stream=avg_frame_rate -of default=noprint_wrappers=1:nokey=1 test8.flv
 1000/33

 }}}

 Can you explain this behaviour and why the fps is so different while
 recording?

--
Ticket URL: <https://trac.ffmpeg.org/ticket/5856>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list