[FFmpeg-trac] #3020(avfilter:new): FFMPEG performance need optimize when transcoding to mjpeg

FFmpeg trac at avcodec.org
Wed Oct 2 12:36:37 CEST 2013


#3020: FFMPEG performance need optimize when transcoding to mjpeg
-------------------------------------+-------------------------------------
             Reporter:  kaifu.tang   |                    Owner:
                 Type:  enhancement  |                   Status:  new
             Priority:  normal       |                Component:  avfilter
              Version:  2.0.1        |               Resolution:
             Keywords:  transcoder,  |               Blocked By:
  mjpeg, avfilter, performance       |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by kaifu.tang):

 Replying to [comment:2 richardpl]:
 > Why are you using different containers?
 > If you want to do real benchmark use '-f null -'

 I tested it again following your advice with attached stream, but this
 issue reproduced yet.
 $ time ./ffmpeg -i test.mp4 -vcodec mjpeg -r 0.2 -f null -
 ffmpeg version 2.0 Copyright (c) 2000-2013 the FFmpeg developers
   built on Oct  1 2013 00:27:45 with gcc 4.3.2 (4.3.2-tdm-1 for MinGW)
   configuration: --disable-static --enable-shared --enable-gpl --enable-
 version3
 --enable-nonfree --disable-ffserver --enable-memalign-hack --enable-
 pthreads --
 disable-txtpages
   libavutil      52. 46.100 / 52. 46.100
   libavcodec     55. 33.101 / 55. 33.101
   libavformat    55. 18.104 / 55. 18.104
   libavdevice    55.  3.100 / 55.  3.100
   libavfilter     3. 88.100 /  3. 88.100
   libswscale      2.  5.100 /  2.  5.100
   libswresample   0. 17.103 /  0. 17.103
   libpostproc    52.  3.100 / 52.  3.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: isommp42
     creation_time   : 2013-04-09 11:10:32
     copyright       :
     copyright-eng   :
   Duration: 00:03:53.87, start: 0.000000, bitrate: 89 kb/s
     Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv,
 bt709)
 , 1280x960, 846 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
     Metadata:
       creation_time   : 2013-04-09 11:10:30
       handler_name    : GPAC ISO Video Handler
     Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo,
 fltp, 47
 kb/s (default)
     Metadata:
       creation_time   : 2013-04-09 11:10:32
       handler_name    : GPAC ISO Audio Handler
 [swscaler @ 02f309e0] deprecated pixel format used, make sure you did set
 range
 correctly
 Output #0, null, to 'pipe:':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: isommp42
     copyright-eng   :
     copyright       :
     encoder         : Lavf55.18.104
     Stream #0:0(und): Video: mjpeg, yuvj420p, 1280x960, q=2-31, 200 kb/s,
 90k tb
 n, 0.20 tbc (default)
     Metadata:
       creation_time   : 2013-04-09 11:10:30
       handler_name    : GPAC ISO Video Handler
     Stream #0:1(und): Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
 (defaul
 t)
     Metadata:
       creation_time   : 2013-04-09 11:10:32
       handler_name    : GPAC ISO Audio Handler
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 -> mjpeg)
   Stream #0:1 -> #0:1 (aac -> pcm_s16le)
 Press [q] to stop, [?] for help
 frame=    3 fps=0.0 q=0.0 size=N/A time=00:00:05.00 bitrate=N/A dup=0
 drop=25
 frame=    4 fps=3.9 q=0.0 size=N/A time=00:00:10.00 bitrate=N/A dup=0
 drop=57
 frame=    4 fps=2.6 q=0.0 size=N/A time=00:00:10.00 bitrate=N/A dup=0
 drop=90
 frame=    4 fps=2.0 q=0.0 size=N/A time=00:00:10.00 bitrate=N/A dup=0
 drop=123
 frame=    4 fps=1.6 q=0.0 size=N/A time=00:00:10.00 bitrate=N/A dup=0
 drop=158
 frame=    5 fps=1.6 q=0.0 size=N/A time=00:00:15.00 bitrate=N/A dup=0
 drop=193
 frame=    5 fps=1.4 q=0.0 size=N/A time=00:00:15.00 bitrate=N/A dup=0
 drop=226
 frame=    5 fps=1.2 q=0.0 size=N/A time=00:00:15.00 bitrate=N/A dup=0
 drop=260
 frame=    5 fps=1.1 q=0.0 size=N/A time=00:00:15.00 bitrate=N/A dup=0
 drop=293
 frame=    6 fps=1.2 q=0.0 size=N/A time=00:00:20.00 bitrate=N/A dup=0
 drop=325
 frame=    6 fps=1.1 q=0.0 size=N/A time=00:00:20.00 bitrate=N/A dup=0
 drop=358
 frame=    6 fps=1.0 q=0.0 size=N/A time=00:00:20.00 bitrate=N/A dup=0
 drop=393
 frame=    7 fps=1.1 q=0.0 size=N/A time=00:00:25.00 bitrate=N/A dup=0
 drop=425
 frame=    7 fps=1.0 q=0.0 size=N/A time=00:00:25.00 bitrate=N/A dup=0
 drop=461
 [h264 @ 034243c0] AVC: nal size 19894
     Last message repeated 1 times
 [h264 @ 034243c0] no frame!
 frame=    7 fps=1.0 q=0.0 Lsize=N/A time=00:00:35.00 bitrate=N/A dup=0
 drop=474
 video:506kB audio:3368kB subtitle:0 global headers:0kB muxing overhead
 -100.0005
 55%

 real    0m7.620s
 user    0m0.000s
 sys     0m0.030s


 $ time ./ffmpeg -i test.mp4 -vcodec msmpeg4 -r 0.2 -f null -
 ffmpeg version 2.0 Copyright (c) 2000-2013 the FFmpeg developers
   built on Oct  1 2013 00:27:45 with gcc 4.3.2 (4.3.2-tdm-1 for MinGW)
   configuration: --disable-static --enable-shared --enable-gpl --enable-
 version3
 --enable-nonfree --disable-ffserver --enable-memalign-hack --enable-
 pthreads --
 disable-txtpages
   libavutil      52. 46.100 / 52. 46.100
   libavcodec     55. 33.101 / 55. 33.101
   libavformat    55. 18.104 / 55. 18.104
   libavdevice    55.  3.100 / 55.  3.100
   libavfilter     3. 88.100 /  3. 88.100
   libswscale      2.  5.100 /  2.  5.100
   libswresample   0. 17.103 /  0. 17.103
   libpostproc    52.  3.100 / 52.  3.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: isommp42
     creation_time   : 2013-04-09 11:10:32
     copyright       :
     copyright-eng   :
   Duration: 00:03:53.87, start: 0.000000, bitrate: 89 kb/s
     Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv,
 bt709)
 , 1280x960, 846 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
     Metadata:
       creation_time   : 2013-04-09 11:10:30
       handler_name    : GPAC ISO Video Handler
     Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo,
 fltp, 47
 kb/s (default)
     Metadata:
       creation_time   : 2013-04-09 11:10:32
       handler_name    : GPAC ISO Audio Handler
 Output #0, null, to 'pipe:':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: isommp42
     copyright-eng   :
     copyright       :
     encoder         : Lavf55.18.104
     Stream #0:0(und): Video: msmpeg4v3 (msmpeg4), yuv420p, 1280x960,
 q=2-31, 200
 kb/s, 90k tbn, 0.20 tbc (default)
     Metadata:
       creation_time   : 2013-04-09 11:10:30
       handler_name    : GPAC ISO Video Handler
     Stream #0:1(und): Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
 (defaul
 t)
     Metadata:
       creation_time   : 2013-04-09 11:10:32
       handler_name    : GPAC ISO Audio Handler
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 -> msmpeg4)
   Stream #0:1 -> #0:1 (aac -> pcm_s16le)
 Press [q] to stop, [?] for help
 frame=    4 fps=0.0 q=2.0 size=N/A time=00:00:20.00 bitrate=N/A dup=0
 drop=149
 frame=    5 fps=5.0 q=2.0 size=N/A time=00:00:25.00 bitrate=N/A dup=0
 drop=288
 frame=    7 fps=4.6 q=2.0 size=N/A time=00:00:35.00 bitrate=N/A dup=0
 drop=420
 [h264 @ 037540e0] AVC: nal size 19894
     Last message repeated 1 times
 [h264 @ 037540e0] no frame!
 frame=    7 fps=4.2 q=2.0 Lsize=N/A time=00:00:35.00 bitrate=N/A dup=0
 drop=474
 video:458kB audio:3368kB subtitle:0 global headers:0kB muxing overhead
 -100.0005
 61%

 real    0m1.985s
 user    0m0.000s
 sys     0m0.016s

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/3020#comment:3>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list