我将尝试使用FFMPEG在透明的gif上叠加一张png,但问题是命令正在无误地运行,但输出文件将透明像素转换为黑色或白色。
我正在使用以下命令。
我正在使用以下命令。
-i input.gif -i overlayImage.png -filter_complex "[0:v][1:v]overlay=0:0" -pix_fmt yuv420p -y output.gif
如果我能获得在gif文件周围添加透明padding的命令,这将非常有帮助。当我将一个png叠加到同一个gif文件上时,会把padding加到输出文件中。
我正在使用以下命令进行padding。
-i input.gif -i overlayImage.png -filter_complex "[0]scale=512:512:force_original_aspect_ratio=decrease, format=rgba,pad=512:512:(ow-iw)/2:(oh-ih)/2:color=0x00000000[a];[a][1]overlay=0:0" -pix_fmt yuv420p -y output.gif
在透明GIF上叠加图像时记录日志
2021-10-14 09:29:31.523 12728-12728/package-name I/mobile-ffmpeg: Loading mobile-ffmpeg.
2021-10-14 09:29:31.677 12728-12728/package-name I/mobile-ffmpeg: Loaded mobile-ffmpeg-video-arm64-v8a-4.4-lts-20200803.
2021-10-14 09:29:31.682 12728-13464/package-name D/mobile-ffmpeg: Callback thread started.
2021-10-14 09:29:31.685 12728-13464/package-name I/mobile-ffmpeg: ffmpeg version v4.4-dev-416
2021-10-14 09:29:31.685 12728-13464/package-name I/mobile-ffmpeg: Copyright (c) 2000-2020 the FFmpeg developers
2021-10-14 09:29:31.685 12728-13464/package-name I/mobile-ffmpeg: built with Android (6454773 based on r365631c2) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489587874b2a325e7a516b99d838599c6f) (based on LLVM 9.0.8svn)
2021-10-14 09:29:31.685 12728-13464/package-name I/mobile-ffmpeg: configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --cc=aarch64-linux-android21-clang --cxx=aarch64-linux-android21-clang++ --extra-libs='-L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/cpu-features/lib -lndk_compat' --target-os=android --enable-neon --enable-asm --enable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libkvazaar --enable-libsnappy --enable-libaom --disable-sdl2 --enable-zlib --enable-mediacodec
2021-10-14 09:29:31.694 12728-13464/package-name I/mobile-ffmpeg: libavutil 56. 55.100 / 56. 55.100
2021-10-14 09:29:31.695 12728-13464/package-name I/mobile-ffmpeg: libavcodec 58. 96.100 / 58. 96.100
2021-10-14 09:29:31.695 12728-13464/package-name I/mobile-ffmpeg: libavformat 58. 48.100 / 58. 48.100
2021-10-14 09:29:31.695 12728-13464/package-name I/mobile-ffmpeg: libavdevice 58. 11.101 / 58. 11.101
2021-10-14 09:29:31.695 12728-13464/package-name I/mobile-ffmpeg: libavfilter 7. 87.100 / 7. 87.100
2021-10-14 09:29:31.695 12728-13464/package-name I/mobile-ffmpeg: libswscale 5. 8.100 / 5. 8.100
2021-10-14 09:29:31.695 12728-13464/package-name I/mobile-ffmpeg: libswresample 3. 8.100 / 3. 8.100
2021-10-14 09:29:31.723 12728-13464/package-name I/mobile-ffmpeg: Input #0, gif, from '/data/user/0/package-name/files/transparent_sticker.gif':
2021-10-14 09:29:31.723 12728-13464/package-name I/mobile-ffmpeg: Duration:
2021-10-14 09:29:31.723 12728-13464/package-name I/mobile-ffmpeg: 00:00:00.40
2021-10-14 09:29:31.723 12728-13464/package-name I/mobile-ffmpeg: , start:
2021-10-14 09:29:31.723 12728-13464/package-name I/mobile-ffmpeg: 0.000000
2021-10-14 09:29:31.723 12728-13464/package-name I/mobile-ffmpeg: , bitrate:
2021-10-14 09:29:31.723 12728-13464/package-name I/mobile-ffmpeg: 33 kb/s
2021-10-14 09:29:31.723 12728-13464/package-name I/mobile-ffmpeg: Stream #0:0
2021-10-14 09:29:31.723 12728-13464/package-name I/mobile-ffmpeg: : Video: gif, bgra, 512x512
2021-10-14 09:29:31.723 12728-13464/package-name I/mobile-ffmpeg: ,
2021-10-14 09:29:31.723 12728-13464/package-name I/mobile-ffmpeg: 100 tbr,
2021-10-14 09:29:31.723 12728-13464/package-name I/mobile-ffmpeg: 100 tbn,
2021-10-14 09:29:31.723 12728-13464/package-name I/mobile-ffmpeg: 100 tbc
2021-10-14 09:29:31.748 12728-13464/package-name I/mobile-ffmpeg: Input #1, webp_pipe, from '/storage/emulated/0/Android/data/package-name/files/TrimmedVideo/overlay.png':
2021-10-14 09:29:31.748 12728-13464/package-name I/mobile-ffmpeg: Duration:
2021-10-14 09:29:31.748 12728-13464/package-name I/mobile-ffmpeg: N/A
2021-10-14 09:29:31.748 12728-13464/package-name I/mobile-ffmpeg: , bitrate:
2021-10-14 09:29:31.748 12728-13464/package-name I/mobile-ffmpeg: N/A
2021-10-14 09:29:31.748 12728-13464/package-name I/mobile-ffmpeg: Stream #1:0
2021-10-14 09:29:31.748 12728-13464/package-name I/mobile-ffmpeg: : Video: webp, yuva420p(tv, bt470bg/unknown/unknown), 512x512
2021-10-14 09:29:31.748 12728-13464/package-name I/mobile-ffmpeg: ,
2021-10-14 09:29:31.748 12728-13464/package-name I/mobile-ffmpeg: 25 tbr,
2021-10-14 09:29:31.748 12728-13464/package-name I/mobile-ffmpeg: 25 tbn,
2021-10-14 09:29:31.748 12728-13464/package-name I/mobile-ffmpeg: 25 tbc
2021-10-14 09:29:31.755 12728-13464/package-name I/mobile-ffmpeg: Stream mapping:
2021-10-14 09:29:31.755 12728-13464/package-name I/mobile-ffmpeg: Stream #0:0 (gif) -> scale
2021-10-14 09:29:31.755 12728-13464/package-name I/mobile-ffmpeg: Stream #1:0 (webp) -> overlay:overlay
2021-10-14 09:29:31.755 12728-13464/package-name I/mobile-ffmpeg: overlay
2021-10-14 09:29:31.755 12728-13464/package-name I/mobile-ffmpeg: -> Stream #0:0 (gif)
2021-10-14 09:29:31.755 12728-13464/package-name I/mobile-ffmpeg: Press [q] to stop, [?] for help
2021-10-14 09:29:31.773 12728-13464/package-name W/mobile-ffmpeg: [graph 0 input from stream 0:0 @ 0x7702da9840] sws_param option is deprecated and ignored
2021-10-14 09:29:31.773 12728-13464/package-name W/mobile-ffmpeg: [graph 0 input from stream 1:0 @ 0x7702da9900] sws_param option is deprecated and ignored
2021-10-14 09:29:31.773 12728-13464/package-name W/mobile-ffmpeg: Incompatible pixel format 'yuv420p' for codec 'gif', auto-selecting format 'bgr8'
2021-10-14 09:29:31.778 12728-13464/package-name W/mobile-ffmpeg: [swscaler @ 0x76b520cc80] No accelerated colorspace conversion found from yuva420p to bgr8.
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: Output #0, gif, to '/storage/emulated/0/Android/data/package-name/files/TrimmedVideo/1634185771290.gif':
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: Metadata:
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: encoder :
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: Lavf58.48.100
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: Stream #0:0
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: : Video: gif, bgr8, 512x512, q=2-31, 200 kb/s
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: ,
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: 100 fps,
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: 100 tbn,
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: 100 tbc
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: (default)
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: Metadata:
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: encoder :
2021-10-14 09:29:31.806 12728-13464/package-name I/mobile-ffmpeg: Lavc58.96.100 gif
2021-10-14 09:29:31.839 12728-13464/package-name I/mobile-ffmpeg: frame= 2 fps=0.0 q=-0.0 Lsize= 28kB time=00:00:00.21 bitrate=1110.1kbits/s speed=2.49x
2021-10-14 09:29:31.840 12728-13464/package-name I/mobile-ffmpeg: video:28kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead:
2021-10-14 09:29:31.840 12728-13464/package-name I/mobile-ffmpeg: 0.068679%
在GIF上叠加图像并给输出文件添加填充时记录日志
2021-10-14 09:35:49.136 15236-16490/package-name I/mobile-ffmpeg: ffmpeg version v4.4-dev-416
2021-10-14 09:35:49.136 15236-16490/package-name I/mobile-ffmpeg: Copyright (c) 2000-2020 the FFmpeg developers
2021-10-14 09:35:49.136 15236-16490/package-name I/mobile-ffmpeg: built with Android (6454773 based on r365631c2) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489587874b2a325e7a516b99d838599c6f) (based on LLVM 9.0.8svn)
2021-10-14 09:35:49.136 15236-16490/package-name I/mobile-ffmpeg: configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --cc=aarch64-linux-android21-clang --cxx=aarch64-linux-android21-clang++ --extra-libs='-L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/cpu-features/lib -lndk_compat' --target-os=android --enable-neon --enable-asm --enable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libkvazaar --enable-libsnappy --enable-libaom --disable-sdl2 --enable-zlib --enable-mediacodec
2021-10-14 09:35:49.136 15236-16490/package-name I/mobile-ffmpeg: libavutil 56. 55.100 / 56. 55.100
2021-10-14 09:35:49.136 15236-16490/package-name I/mobile-ffmpeg: libavcodec 58. 96.100 / 58. 96.100
2021-10-14 09:35:49.136 15236-16490/package-name I/mobile-ffmpeg: libavformat 58. 48.100 / 58. 48.100
2021-10-14 09:35:49.136 15236-16490/package-name I/mobile-ffmpeg: libavdevice 58. 11.101 / 58. 11.101
2021-10-14 09:35:49.136 15236-16490/package-name I/mobile-ffmpeg: libavfilter 7. 87.100 / 7. 87.100
2021-10-14 09:35:49.136 15236-16490/package-name I/mobile-ffmpeg: libswscale 5. 8.100 / 5. 8.100
2021-10-14 09:35:49.136 15236-16490/package-name I/mobile-ffmpeg: libswresample 3. 8.100 / 3. 8.100
2021-10-14 09:35:49.147 15236-16490/package-name I/mobile-ffmpeg: Input #0, gif, from '/storage/emulated/0/Android/data/package-name/files/TrimmedVideo/1634186134864-output.gif':
2021-10-14 09:35:49.147 15236-16490/package-name I/mobile-ffmpeg: Duration:
2021-10-14 09:35:49.147 15236-16490/package-name I/mobile-ffmpeg: 00:00:02.80
2021-10-14 09:35:49.147 15236-16490/package-name I/mobile-ffmpeg: , start:
2021-10-14 09:35:49.147 15236-16490/package-name I/mobile-ffmpeg: 0.000000
2021-10-14 09:35:49.148 15236-16490/package-name I/mobile-ffmpeg: , bitrate:
2021-10-14 09:35:49.148 15236-16490/package-name I/mobile-ffmpeg: 8324 kb/s
2021-10-14 09:35:49.148 15236-16490/package-name I/mobile-ffmpeg: Stream #0:0
2021-10-14 09:35:49.148 15236-16490/package-name I/mobile-ffmpeg: : Video: gif, bgra, 288x512 [SAR 64:64 DAR 9:16]
2021-10-14 09:35:49.148 15236-16490/package-name I/mobile-ffmpeg: ,
2021-10-14 09:35:49.148 15236-16490/package-name I/mobile-ffmpeg: 10 fps,
2021-10-14 09:35:49.148 15236-16490/package-name I/mobile-ffmpeg: 10 tbr,
2021-10-14 09:35:49.148 15236-16490/package-name I/mobile-ffmpeg: 100 tbn,
2021-10-14 09:35:49.148 15236-16490/package-name I/mobile-ffmpeg: 100 tbc
2021-10-14 09:35:49.151 15236-16490/package-name I/mobile-ffmpeg: Input #1, png_pipe, from '/storage/emulated/0/Android/data/package-name/files/TrimmedVideo/overlay_image.png':
2021-10-14 09:35:49.151 15236-16490/package-name I/mobile-ffmpeg: Duration:
2021-10-14 09:35:49.151 15236-16490/package-name I/mobile-ffmpeg: N/A
2021-10-14 09:35:49.151 15236-16490/package-name I/mobile-ffmpeg: , bitrate:
2021-10-14 09:35:49.151 15236-16490/package-name I/mobile-ffmpeg: N/A
2021-10-14 09:35:49.151 15236-16490/package-name I/mobile-ffmpeg: Stream #1:0
2021-10-14 09:35:49.151 15236-16490/package-name I/mobile-ffmpeg: : Video: png, rgba(pc), 512x512
2021-10-14 09:35:49.151 15236-16490/package-name I/mobile-ffmpeg: ,
2021-10-14 09:35:49.151 15236-16490/package-name I/mobile-ffmpeg: 25 tbr,
2021-10-14 09:35:49.151 15236-16490/package-name I/mobile-ffmpeg: 25 tbn,
2021-10-14 09:35:49.151 15236-16490/package-name I/mobile-ffmpeg: 25 tbc
2021-10-14 09:35:49.153 15236-16490/package-name I/mobile-ffmpeg: Stream mapping:
2021-10-14 09:35:49.154 15236-16490/package-name I/mobile-ffmpeg: Stream #0:0 (gif) -> scale
2021-10-14 09:35:49.154 15236-16490/package-name I/mobile-ffmpeg: Stream #1:0 (png) -> overlay:overlay
2021-10-14 09:35:49.154 15236-16490/package-name I/mobile-ffmpeg: overlay
2021-10-14 09:35:49.154 15236-16490/package-name I/mobile-ffmpeg: -> Stream #0:0 (gif)
2021-10-14 09:35:49.154 15236-16490/package-name I/mobile-ffmpeg: Press [q] to stop, [?] for help
2021-10-14 09:35:49.159 15236-16490/package-name I/mobile-ffmpeg: frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A
2021-10-14 09:35:49.163 15236-16490/package-name W/mobile-ffmpeg: [graph 0 input from stream 0:0 @ 0x778fc3cec0] sws_param option is deprecated and ignored
2021-10-14 09:35:49.164 15236-16490/package-name W/mobile-ffmpeg: [graph 0 input from stream 1:0 @ 0x778fc3cf80] sws_param option is deprecated and ignored
2021-10-14 09:35:49.164 15236-16490/package-name W/mobile-ffmpeg: Incompatible pixel format 'yuv420p' for codec 'gif', auto-selecting format 'bgr8'
2021-10-14 09:35:49.166 15236-16490/package-name W/mobile-ffmpeg: [swscaler @ 0x7734461980] No accelerated colorspace conversion found from yuva420p to bgr8.
2021-10-14 09:35:49.234 15236-16490/package-name I/mobile-ffmpeg: Output #0, gif, to '/storage/emulated/0/Android/data/package-name/files/TrimmedVideo/sticker.gif':
2021-10-14 09:35:49.234 15236-16490/package-name I/mobile-ffmpeg: Metadata:
2021-10-14 09:35:49.234 15236-16490/package-name I/mobile-ffmpeg: encoder :
2021-10-14 09:35:49.234 15236-16490/package-name I/mobile-ffmpeg: Lavf58.48.100
2021-10-14 09:35:49.235 15236-16490/package-name I/mobile-ffmpeg: Stream #0:0
2021-10-14 09:35:49.235 15236-16490/package-name I/mobile-ffmpeg: : Video: gif, bgr8, 512x512 [SAR 1:1 DAR 1:1], q=2-31, 200 kb/s
2021-10-14 09:35:49.235 15236-16490/package-name I/mobile-ffmpeg: ,
2021-10-14 09:35:49.235 15236-16490/package-name I/mobile-ffmpeg: 10 fps,
2021-10-14 09:35:49.235 15236-16490/package-name I/mobile-ffmpeg: 100 tbn,
2021-10-14 09:35:49.235 15236-16490/package-name I/mobile-ffmpeg: 10 tbc
2021-10-14 09:35:49.235 15236-16490/package-name I/mobile-ffmpeg: (default)
2021-10-14 09:35:49.235 15236-16490/package-name I/mobile-ffmpeg: Metadata:
2021-10-14 09:35:49.235 15236-16490/package-name I/mobile-ffmpeg: encoder :
2021-10-14 09:35:49.235 15236-16490/package-name I/mobile-ffmpeg: Lavc58.96.100 gif
2021-10-14 09:35:49.704 15236-16490/package-name I/mobile-ffmpeg: frame= 14 fps=0.0 q=-0.0 size= 512kB time=00:00:01.31 bitrate=3201.8kbits/s speed=2.54x
2021-10-14 09:35:50.201 15236-16490/package-name I/mobile-ffmpeg: frame= 28 fps= 27 q=-0.0 size= 1024kB time=00:00:02.71 bitrate=3095.4kbits/s speed=2.59x
2021-10-14 09:35:50.201 15236-16490/package-name I/mobile-ffmpeg: frame= 28 fps= 27 q=-0.0 Lsize= 1260kB time=00:00:02.71 bitrate=3809.1kbits/s speed=2.59x
2021-10-14 09:35:50.202 15236-16490/package-name I/mobile-ffmpeg: video:1260kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead:
2021-10-14 09:35:50.202 15236-16490/package-name I/mobile-ffmpeg: 0.001550%