gpt4 book ai didi

ffmpeg - 如何在不损失质量的情况下应用过滤器

转载 作者:行者123 更新时间:2023-12-04 23:26:17 30 4
gpt4 key购买 nike

这是一个简单的请求,它有一个输入、一个输出和两个水印。根据我收集到的信息,我无法申请 -codec copy因为我正在使用过滤器。

ffmpeg -i input.mp4 -i wm-bl.png -i wm-br.png -filter_complex "overlay=x=0:y=H-h,overlay=x=W-w:y=H-h" output.mp4

就水印而言,这可以解决问题,但输出被压缩为原始文件大小的一半。

是否可以在不损失视频质量的情况下添加水印?

最佳答案

您必须重新编码才能执行任何过滤
因此,任何尝试 stream copying而过滤将被忽略。这就是为什么-codec copy什么都不为你做。
有损,但看起来无损
或者,您可以使用看起来“视觉无损”的正确编码设置,但从技术上讲并不是真正的无损。 H.264 示例:

ffmpeg -i input -codec:v libx264 -crf 18 -preset slow -vf format=yuv420p out.mp4
  • -crf控制质量:范围是 0-51 的对数刻度,0 是无损的,~18 通常被认为是视觉无损的,默认值为 23。
  • -preset控制编码速度和压缩效率:超快、超快、非常快、更快、快、中(默认)、慢、慢、非常慢。
  • -vf format=yuv420p使用大多数播放器所需的兼容色度子采样。

  • 使用无损格式
    尽管您必须重新编码以进行过滤,但这并不意味着您必须失去质量。您可以使用无损编码器,例如:
  • -codec:v libx264 -crf 0 -preset veryslow
  • -codec:v ffv1

  • 输出文件的大小可能很大——通常比输入文件大得多。
    使用 CSS 或您的播放器添加水印
    完全避免编码,只需使用 CSS 或 HTML5 视频播放器处理水印。
    另见
  • FFmpeg Wiki: H.264
  • 关于ffmpeg - 如何在不损失质量的情况下应用过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46059067/

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