如何使用ffmpeg在视频中心添加透明水印?

2023-12-30

我目前正在使用这些命令:

Top left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv

Top right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" outputvideo.flv

Bottom left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" outputvideo.flv

Bottom right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=(main_w-overlay_w-10)/2:(main_h-overlay_h-10)/2 [out]" outputvideo.flv

如何在视频中心放置水印?


使用以下命令在视频上添加水印/徽标图像的示例overlay https://ffmpeg.org/ffmpeg-filters.html#overlay filter.

Centered

ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" -codec:a copy output.mp4

或使用缩短的覆盖选项:

overlay=(W-w)/2:(H-h)/2

Top left

这是很简单的,因为如果您没有提供覆盖选项,默认情况下会将图像放置在左上角。

此示例添加 5 个像素的填充,以便图像不接触边缘:

overlay=5:5

右上

填充 5 像素:

overlay=main_w-overlay_w-5:5

或使用缩短的选项:

overlay=W-w-5:5

右下角

填充 5 像素:

overlay=main_w-overlay_w-5:main_h-overlay_h-5

或使用缩短的选项:

overlay=W-w-5:H-h-5

左下方

填充 5 像素:

overlay=5:main_h-overlay_h

或使用缩短的选项:

overlay=5:H-h-5

透明度/不透明度/阿尔法

使用以下命令使水印 50% 透明的示例format https://ffmpeg.org/ffmpeg-filters.html#format and 颜色通道混合器 https://ffmpeg.org/ffmpeg-filters.html#colorchannelmixer过滤器:

ffmpeg -i input.mp4 -i watermark.jpg -filter_complex "[1]format=rgba,colorchannelmixer=aa=0.5[logo];[0][logo]overlay=(W-w)/2:(H-h)/2:format=auto,format=yuv420p" -c:a copy output.mp4

提高质量

使用format=auto选项中的overlay https://ffmpeg.org/ffmpeg-filters.html#overlay滤镜可以让PNG水印看起来更好:

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=5:H-h-5:format=auto,format=yuv420p" -c:a copy output.mp4

请注意添加format https://ffmpeg.org/ffmpeg-filters.html#format过滤器(是的,与选项同名,但是是一个独立的过滤器)将其重置为 MP4 输出所需的 YUV 4:2:0。消除,format=yuv420p如果您不输出 MP4。

相对于主视频缩放水印

Use the 比例尺2参考 https://ffmpeg.org/ffmpeg-filters.html#scale2ref filter:

将徽标设为主视频大小的 10% (1/10) 的示例:

ffmpeg -i input.mp4 -i watermark.png -filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo][video];[video][logo]overlay=5:H-h-5" -c:a copy output.mp4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用ffmpeg在视频中心添加透明水印? 的相关文章

  • IOS Web 应用程序视频缓存播放问题 (mp4)

    您好 我在 iPad 2 上运行最新版本的 iOS 5 0 1 但无法使 mp4 视频缓存正常工作 我添加了必要的侦听器来侦听 applicationCache 事件 然后在这些事件发生时写入控制台 最值得注意的是 当我的应用程序被缓存时
  • HTML 5 视频:使用 javascript 播放多个“剪辑”

    我在 HTML 视频和 JavaScript 方面遇到问题 因此编写了一些简单的代码来演示 有一个视频包含三个 剪辑 全长五秒 显然 在现实世界中 它们要长得多 一个在 25 30 秒 一个在 55 60 秒 最后一个在 85 90 秒 我
  • 如何使用 javascript 获取 html5 视频的缩略图?

    我找到了根据 URL 获取视频缩略图的 JavaScript 代码 不过 我只在 YouTube 和 Vimeo 上找到了这个 似乎没有人列出如何处理旨在嵌入 html5 视频标签的视频的示例 能做到吗 谢谢 是的 您可以使用视频作为画布的
  • 将yuv420p原始数据转换为opencv图像

    我有来自 rtmp 服务器的原始数据 像素格式为 yuv420p 我使用管道来读取数据 但我不知道如何将原始数据解码为图像 command ffmpeg command extend loglevel fatal i rtmp localh
  • ffmpeg视频已压缩但无法在浏览器中播放

    我已经集成了ffmpeg4android lib 视频压缩工作正常 但视频无法在除 safari 浏览器之外的浏览器中播放 上传到服务器后 我使用了以下命令 ffmpeg y i
  • 在 IOS 10 beta 7 (Safari) 中使用 webGL 渲染视频 - 显示奇怪的紫色

    我正在 webGL 中渲染视频 通过传递Video对象作为源texImage2D 这在所有平台 支持 webGL 中都很好用 但是在 IOS 10 beta 7 的 Safari 中 它以奇怪的颜色渲染 在以前的 IOS 版本中看起来还不错
  • 使用 Java FFmpeg 包装器,还是简单地使用 Java 运行时来执行 FFmpeg?

    我对 Java 还很陌生 需要编写一个程序来监听视频转换指令 并在新指令到达时转换视频 说明存储在 Amazon SQS 中 但这与我的问题无关 我面临一个选择 要么使用 Java 运行时来执行 FFmpeg 转换 如从命令行 要么使用用
  • 使用 libavcodec 提取音频样本

    我对如何从 AVFrame 中的数据提取双值感到困惑 我正在尝试提取帧 我尝试检查用 CPython 编写的 av 模块背后的源代码 尤其是 AudioFrame 来尝试了解它从何处解码样本 https github com PyAV Or
  • 寻找两个框架之间的变换

    我有来自视频源的两个连续帧 并且我使用 FAST 算法检测这两个帧的关键点 我使用平方差之和法 SSD 来匹配关键点 所以基本上我已经匹配了两个框架之间的关键点 现在我想根据匹配的关键点集计算两个帧之间的仿射变换 缩放 旋转 平移 我知道如
  • 从视频生成缩略图 - ios7

    我用这个作为参考 从视频 URL 或 iPhone SDK 中的数据获取缩略图 https stackoverflow com a 6027285 1145339 该方法使用 MPMoviePlayerController 类而不是 AVF
  • 如何在视频在后台播放时在android中加载活动布局

    当视频在 Android 模拟器后台播放时 如何在 Android 中加载活动布局 您可以在此处观看视频演示示例视频 http youtu be XTE6Yln4yAQ 到目前为止 我只对布局进行了动画处理 但我无法像视频中的那样进行操作
  • 如何在Python中解码视频(内存文件/字节字符串)并逐帧浏览它?

    我正在使用 python 进行一些基本的图像处理 并希望将其扩展为逐帧处理视频 我从服务器获取视频作为 blob webm 编码 并将其作为字节字符串放入 python 中 b x1aE xdf xa3 xa3B x86 x81 x01B
  • 背景图像上的 Showfreqs 和 Showwave?

    我想让 FFMPEG 将我的播客音频导出到一个文件 我可以上传到 YouTube 该文件在视觉上很有趣 目前我正在使用以下代码 但我没有完全理解 ffmpeg i E04 ProphetsPrey wav filter complex 0
  • 未对齐的内存访问

    我正在开发不支持未对齐内存访问的嵌入式设备 对于视频解码器 我必须处理 8x8 像素块中的像素 每个像素一个字节 该设备具有一些 SIMD 处理功能 使我能够并行处理 4 个字节 问题是 8x8 像素块不能保证从对齐的地址开始 并且函数需要
  • 在可在 Blackberry 设备和 Windows Mobile 6.5 上运行的网页上嵌入视频

    我正在尝试在一个网站上嵌入一个视频 该视频将在黑莓和 Windows Mobile 6 5 设备上播放 目前正在黑莓 curve 和 acer betouch 上进行测试 但似乎没有任何进展 黑莓Flash 不起作用 HTML5 视频也不起
  • 未找到 ffmpeg 命令,但 pip 列表显示 ffmpeg

    我一直在尝试使用命令安装 ffmpegpip install ffmpeg我正在没有 sudo 权限的服务器上执行此操作 在编写 ffmpeg 时 我得到 ffmpeg command not found 然后我检查了pip list它显示
  • iPhone/iPod 模拟器和设备之间的差异

    自从我开始 iPhone iPod 开发以来 我发现模拟器和真实设备的反应之间存在一些差异 也许我会遇到一些其他差异 我也必须弄清楚 也许其他人还没有在这里遇到这些问题 并且可以从知识中受益 也许你知道一些你本来会遇到的问题 差异很高兴在您
  • 如何平铺视频/创建视频蒙太奇?

    我有四个视频 我想以 2x2 的方式平铺它们来制作一个新视频 有没有一种方法可以轻松地做到这一点 最好是免费的并且在 Linux 下 我愿意编写适量的程序 也许是为了与某些库交互 但不愿意自己编写整个视频处理程序 您可能会假设输入和输出视频
  • Android 中的“ffmpeg 有文本重定位”错误

    我正在构建一个 Android 视频发送应用程序 我需要在上传之前对视频进行压缩 在本例中 我选择使用 FFmpeg 的 Android 包装器 https github com hiteshsondhi88 ffmpeg android
  • 使用 gtk+ 播放视频

    您对使用 GTK 播放视频有什么建议吗 对于在 GTK 和其他 GTK 绑定上播放视频 您有很多选择 选项 使用第三方库 1 尝试使用ogmrip gtk http ogmrip sourceforge net en manual html

随机推荐

  • T-SQL 存储过程 - 动态 AND/OR 运算符

    我只是想知道 MS SQL Server 2005 中是否有一种方法可以将运算符作为存储过程参数传递 如果可能的话 我确实需要避免使用动态 SQL AppOperator AND WHERE 1 1 AppOperator 2 2 这并不是
  • Cruise Control .Net 服务器无法检测在 Starteam 上完成的修改

    我正在使用 Cruise Control Net 1 4 进行持续集成 并将其安装在我的 Windows 2000 桌面上 我有 Nant 0 85 用于构建 我的源代码控制位于 Borland Starteam 2005 中 我安装了 N
  • 如何将照片库加载到UICollectionView中?迅速

    我正在努力实现的目标 对于这个项目 我只会提到两个源文件 1 RPPhotoLibrary swift UICollectionViewController 和 2 PhotoThumbnail swift UICollectionView
  • git push ...致命:无法创建master.lock:文件存在

    帮助 当我尝试做一个git push origin master现在 我得到 fatal Unable to create home ubuntu workspace git refs remotes origin master lock
  • Asp.net Core 中的@Html.EnumDropDownListFor

    我正在 Asp net Core 中移植 MVC5 应用程序 我找不到 Html EnumDropDownListFor 它是否已被弃用并且有替代品吗 有没有任何文档可以让我找到所有这些小的重大更改 对于仍在寻找答案的任何人 在 ASP N
  • 长按手势弹出菜单

    我对 ios 和核心动画都很陌生 所以我正在做一些测试来适应它 我有一个菜单 我试图通过长按手势来创建 我希望按钮先向上动画 然后向下动画 然后消失 我让出现的部分工作了 但我不知道如何让它消失 它也不允许我在 UIGestureRecog
  • 关闭从 WebView 打开的全屏视频后出现白屏

    我有一个WebView带有嵌入的 youtube 视频 我已经使用简单的对话框解决方案实现了全屏模式 如下所示 webView setWebChromeClient new CustomWebChromeClient public clas
  • highcharts 工具提示错误日期

    我制作了一个高图表 该工具提示以格式显示日期和时间 但它显示了错误的日期和时间 请仔细阅读下面的代码 HTML 代码 div style min width 310px height 400px margin 0 div
  • 在Java中,是否可以转换为void(而不是Void)?

    我可以在 X 中添加任何内容来使以下工作正常进行 Object o void X void 理论上是一个原语 尽管大多数人不同意 甚至我怀疑 你不能将一个对象投射到它上面 最接近这一点的是 InvocableHandler 可以return
  • .NET 字符串的内部格式是什么?

    我正在 C NET 中编写一些漂亮的字符串操作密集型代码 并对我记得不久前读过的一些 Joel Spolsky 文章感到好奇 http www joelonsoftware com articles fog0000000319 html h
  • Android:图标不会出现在操作栏中

    我正在关注操作栏的 google 教程 但图标没有出现在上面 这是菜单 xml 文件 menu menu
  • Xcode 4.2 代码覆盖率

    我开始使用 Xcode 4 2 但在生成代码覆盖率方面遇到问题 Xcode 4 2 不包含 GCC 4 2 编译器 但已替换为 LLVM GCC 4 2 编译器 第一个用于在以前版本的 Xcode 中生成代码覆盖率 我按照 CoverSto
  • Vim 语法高亮不起作用

    我在我的笔记本电脑上安装了新的 Arch Linux 系统并下载了 vim 软件包 我没有更改 vimrc 文件 但语法突出显示似乎不适用于我尝试过的任何语言 Python Ruby CSharp C 自动格式化 gg G 也失败 到目前为
  • 支付宝移动支付在服务器端接收请求字符串

    我不完全确定这个问题有多受欢迎或者是否会得到任何答复 因为这个问题与中国开发者的关系比与国外开发者的关系更大 但是 我目前正在努力集成支付宝的服务器端脚本以接收移动电话成功请求字符串 我已经成功地向我的移动人员 通过在可怕的支付宝 API
  • 继承和方法重载

    为什么C 编译器会出现这个错误 为什么我可以从 B 访问 lol 但无法访问 rofl 不带参数 陷阱在哪里 class A public void lol void void rofl void return rofl 0 virtual
  • NetTiers 去向何方?

    我在一两次工作之前在许多项目中使用过 NetTiers 我发现它对于在 ASP NET Web 表单中生成后端接口非常有用 业务层和数据层也相当不错 我通常使用 NHibernate 但我认为在这些特定项目上 就运行所需的时间而言 它可能有
  • 按外键排序 Django 查询结果

    我有一个模型 设置如下 class Log models Model name models ForeignKey User date models DateField time models TimeField 我知道这不起作用 但是有没
  • PHP array_key_exists 和 UTF 8

    我有一个数据库 其中编码为 UTF 8 用于多语言目的 我认为我的应用程序中的所有内容均采用 UTF 8 格式 虽然我对 array key exists 函数有疑问 它从对数据库的查询开始 SELECT name value from T
  • OpenWRT git clone fatal:无法找到“http”的远程帮助程序

    我正在尝试将 LINC Switch 安装到 OpenWRT 并遇到以下问题 git clone https github com FlowForwarding LINC Switch git 并得到一个错误 git fatal Unabl
  • 如何使用ffmpeg在视频中心添加透明水印?

    我目前正在使用这些命令 Top left corner ffmpeg i inputvideo avi vf movie watermarklogo png watermark in watermark overlay 10 10 out