GIF muxer 仅支持单个视频 GIF 流

3 video ffmpeg

所以我试图给一个装满 gif 的文件夹加水印,但我收到一个错误,说我当时只能使用一个 GIF 流,有没有办法规避这个?

@echo off
setlocal
for %%G in ("%~dp0gifs\*.gif") do (
    ffmpeg -i %%G -i Watermark.png -filter_complex "[0:v]scale=trunc(iw/2)*2:trunc(ih/2)*2[v0];[1:v][v0]scale2ref=trunc(iw/5):trunc(ih/16)[logo][0v];[0v][logo]overlay=W-w-3:H-h-4 [v]" -map "[v]" -codec:v libx264 -preset slow -crf 18 %%~nG.gif
    )
)
endlocal
pause
Run Code Online (Sandbox Code Playgroud)

错误来自ffmpeg

[gif @ 0x7ff212801c00] GIF muxer supports only a single video GIF stream.
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:0 -- 
Run Code Online (Sandbox Code Playgroud)

llo*_*gan 5

H.264 不能混合到 GIF 中。任何一个:

  • 删除-codec:v libx264 -preset slow -crf 18以输出实际的 GIF,或
  • 改变输出.gif.mp4输出H.264视频在MP4容器