FFMPEG制作缩略图加水印一条命令

FFMPEG make thumbnail and add watermark one command

我需要一个 onc ffmpeg 命令来首先制作缩略图,然后在视频输出中添加水印。

ffmpeg -i INPUT -i watermark.png -filter_complex \
"[1]colorchannelmixer=aa=0.5,scale=iw*30/100:-1[wm];[0][wm]overlay=x=(main_w-overlay_w-5):y=(main_h-overlay_h-5)/(main_h-overlay_h-5),drawtext=fontfile=myfont.ttf: \ text='mysite.com': fontcolor=white@0.5: fontsize=18: x=w-tw-10:y=h-th-10" -codec:a copy -movflags +faststart OUTPUT.jpg OUTPUT.mp4
ffmpeg -i INPUT -i watermark.png -filter_complex "[1]colorchannelmixer=aa=0.5,scale=iw*30/100:-1[wm];[0][wm]overlay=x=(main_w-overlay_w-5):y=(main_h-overlay_h-5)/(main_h-overlay_h-5),drawtext=:text='mysite.com': fontcolor=white@0.5: fontsize=18: x=w-tw-10:y=h-th-10,split=2[vid][img]" -map "[vid]" -map 0:a? -codec:a copy -movflags +faststart OUTPUT.mp4 -map "[img]" -frames:v 1 OUTPUT.jpg

您没有提供任何错误,所以我假设存在以下问题:

  • 需要 -frames:v 1 用于 jpg 输出以避免错误 Could not get frame filename number 2 from pattern 'OUTPUT.jpg'. Use '-frames:v 1' for a single image, or '-update' option, or use a pattern such as %03d within the filename.
  • 使用过滤器输出标签(示例中的 [vid][img])并使用 -map 引用它们,因此两个输出都使用过滤器的结果。
  • 一个过滤器输出只能消耗一次,所以使用split过滤器制作两个副本。