gpt4 book ai didi

filter - FFmpeg - 如何缩放视频然后应用水印?

转载 作者:行者123 更新时间:2023-12-04 01:22:29 24 4
gpt4 key购买 nike

我试图缩放视频,使其始终为 512 宽,其中高度与原始视频成比例变化。
缩放后,我想对视频应用水印/叠加层,因此视频会缩放,但水印不会。
我可以使用以下过滤器分别实现其中的每一个:
规模

-vf "scale=512:-1"
水印
-vf "movie=watermark.png [watermark]; [in][watermark] overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2 [out]"
他们自己成功地工作。
但是,当尝试将两者结合起来时,我遇到了一些麻烦。
将两者都作为参数当然是行不通的,因为一个会覆盖另一个。
我试过了:
-vf "scale=512:-1,movie=watermark.png [watermark]; [in][watermark] overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2 [out]"
我的想法是先应用比例然后再应用水印,但我得到的只是一个错误

Too many inputs specified for the "movie" filter.

Error opening filters!


然后将 , 更改为 ;导致:

Simple filtergraph 'scale=512:-1;movie=watermark.png[watermark]; [in][watermark]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2 [out]' does not haveexactly one input and output.

Error opening filters!


我想我需要对过滤器链做更多的事情,但我很难弄清楚。
有什么想法吗?
提前谢谢了。

最佳答案

您可以使用 -filter_complex带有比例和覆盖过滤器的选项:

ffmpeg -i input.mp4 -i logo.png -filter_complex "[0:v]scale=512:-1[bg];[bg][1:v]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" output
  • scaleoverlay过滤文档以获取更多信息。
  • 不需要movie源过滤器与其他示例一样。
  • 您可以添加-c:a copy如果你想stream copy (重新复用)原始音频,而不是重新编码。如果您的输入和输出容器格式相同,这将很有用。
  • 该示例将 Logo 放置在中心。对于其他放置选项:
  • 左上角 10 px 内边距:overlay=10:10
  • 右上方,10 px 内边距:overlay=W-w-10:10
  • 右下角,10 px 内边距:overlay=W-w-10:H-h-10
  • 左下角 10 px 内边距:overlay=H-h-10:10
  • 关于filter - FFmpeg - 如何缩放视频然后应用水印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10934420/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com