[FFmpeg-trac] #10102(ffmpeg:new): lavfi color background with clear png creating extra frames

FFmpeg trac at avcodec.org
Thu Dec 15 00:38:09 EET 2022


#10102: lavfi color background with clear png creating extra frames
-------------------------------------+-------------------------------------
             Reporter:  seankennett  |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:  ffmpeg       |                  Version:  git-
             Keywords:  overlay      |  master
  image2 filter_complex              |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 I have 64 png images with transparent backgrounds which I want to overlay
 onto a plain black background.  The issue I have is that additional black
 frames are added to the end of the video.  Some of the images are
 completely transparent which seem to be the cause of the issue.  Replacing
 these fully transparent images with partially transparent images works as
 expected.  With fully transparent the length of video is 5.333 seconds,
 without is the expected length of 2.667.

 ffmpeg -framerate 24 -i %d.png -f lavfi -i
 color=0x000000 at 1:s=1920x1080:r=24 -filter_complex
 "[1:v]trim=end_frame=64[b0];[b0][0:v]overlay" Recreate24.mp4

 using latest master build:
 ffmpeg version 2022-12-11-git-c3e20f78b0-essentials_build-www.gyan.dev

 stack:
 ffmpeg -framerate 24 -i %d.png -f lavfi -i
 color=0x000000 at 1:s=1920x1080:r=24 -filter_complex
 "[1:v]trim=end_frame=64[b0];[b0][0:v]overlay" Recreate24.mp4
 ffmpeg version 2022-12-11-git-c3e20f78b0-essentials_build-www.gyan.dev
 Copyright (c) 2000-2022 the FFmpeg developers
   built with gcc 12.1.0 (Rev2, Built by MSYS2 project)
   configuration: --enable-gpl --enable-version3 --enable-static --disable-
 w32threads --disable-autodetect --enable-fontconfig --enable-iconv
 --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma
 --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-
 avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265
 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx
 --enable-mediafoundation --enable-libass --enable-libfreetype --enable-
 libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-
 amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec
 --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-
 libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame
 --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-
 libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis
 --enable-librubberband
   libavutil      57. 43.100 / 57. 43.100
   libavcodec     59. 55.100 / 59. 55.100
   libavformat    59. 34.102 / 59. 34.102
   libavdevice    59.  8.101 / 59.  8.101
   libavfilter     8. 52.100 /  8. 52.100
   libswscale      6.  8.112 /  6.  8.112
   libswresample   4.  9.100 /  4.  9.100
   libpostproc    56.  7.100 / 56.  7.100
 Input #0, image2, from '%d.png':
   Duration: 00:00:02.67, start: 0.000000, bitrate: N/A
   Stream #0:0: Video: png, monob(pc), 1920x1080, 24 fps, 24 tbr, 24 tbn
 Input #1, lavfi, from 'color=0x000000 at 1:s=1920x1080:r=24':
   Duration: N/A, start: 0.000000, bitrate: N/A
   Stream #1:0: Video: wrapped_avframe, yuv420p, 1920x1080 [SAR 1:1 DAR
 16:9], 24 fps, 24 tbr, 24 tbn
 File 'Recreate24.mp4' already exists. Overwrite? [y/N] y
 Stream mapping:
   Stream #0:0 (png) -> overlay
   Stream #1:0 (wrapped_avframe) -> trim:default
   overlay:default -> Stream #0:0 (libx264)
 Press [q] to stop, [?] for help
 [image2 @ 0000025ca857dcc0] Thread message queue blocking; consider
 raising the thread_queue_size option (current value: 8)
 [libx264 @ 0000025ca8bbadc0] using SAR=1/1
 [libx264 @ 0000025ca8bbadc0] using cpu capabilities: MMX2 SSE2Fast SSSE3
 SSE4.2
 [libx264 @ 0000025ca8bbadc0] profile High, level 4.0, 4:2:0, 8-bit
 [libx264 @ 0000025ca8bbadc0] 264 - core 164 r3102 416e3eb - H.264/MPEG-4
 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html -
 options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7
 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=2 keyint=250 keyint_min=24
 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0
 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
 Output #0, mp4, to 'Recreate24.mp4':
   Metadata:
     encoder         : Lavf59.34.102
   Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(progressive),
 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 24 fps, 12288 tbn
     Metadata:
       encoder         : Lavc59.55.100 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 frame=  128 fps= 65 q=-1.0 Lsize=     189kB time=00:00:05.20 bitrate=
 296.5kbits/s dup=4 drop=0 speed=2.63x
 video:186kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 1.242933%
 [libx264 @ 0000025ca8bbadc0] frame I:2     Avg QP: 6.14  size:  3302
 [libx264 @ 0000025ca8bbadc0] frame P:34    Avg QP:16.27  size:  2692
 [libx264 @ 0000025ca8bbadc0] frame B:92    Avg QP:17.66  size:   999
 [libx264 @ 0000025ca8bbadc0] consecutive B-frames:  1.6%  3.1% 14.1% 81.2%
 [libx264 @ 0000025ca8bbadc0] mb I  I16..4: 78.7% 20.5%  0.8%
 [libx264 @ 0000025ca8bbadc0] mb P  I16..4:  0.1%  0.5%  0.5%  P16..4:
 0.6%  0.4%  0.2%  0.0%  0.0%    skip:97.8%
 [libx264 @ 0000025ca8bbadc0] mb B  I16..4:  0.0%  0.0%  0.1%  B16..8:
 1.1%  0.3%  0.1%  direct: 0.1%  skip:98.3%  L0:52.8% L1:44.2% BI: 3.0%
 [libx264 @ 0000025ca8bbadc0] 8x8 transform intra:24.5% inter:16.0%
 [libx264 @ 0000025ca8bbadc0] coded y,uvDC,uvAC intra: 6.6% 10.0% 9.6%
 inter: 0.3% 0.3% 0.2%
 [libx264 @ 0000025ca8bbadc0] i16 v,h,dc,p: 97%  1%  2%  0%
 [libx264 @ 0000025ca8bbadc0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 59%  3% 36%
 0%  0%  0%  0%  0%  1%
 [libx264 @ 0000025ca8bbadc0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 20% 31%
 4%  7%  6%  6%  3%  4%
 [libx264 @ 0000025ca8bbadc0] i8c dc,h,v,p: 93%  3%  3%  0%
 [libx264 @ 0000025ca8bbadc0] Weighted P-Frames: Y:8.8% UV:5.9%
 [libx264 @ 0000025ca8bbadc0] ref P L0: 51.1%  6.3% 17.3% 25.3%
 [libx264 @ 0000025ca8bbadc0] ref B L0: 77.5% 19.2%  3.3%
 [libx264 @ 0000025ca8bbadc0] ref B L1: 94.0%  6.0%
 [libx264 @ 0000025ca8bbadc0] kb/s:284.98
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10102>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list