没有vhook的ffmpeg水印?

标签 ffmpeg watermark

这个问题在这里已经有了答案:





How to add transparent watermark in center of a video with ffmpeg?

(1 个回答)


4年前关闭。




由于 vhook 子系统已从最新版本的 FFMPEG 中删除,如何为视频添加水印?

我需要能够用背景透明度覆盖 PNG。

最佳答案

使用 Xuggler,我们可以在 java 中做到这一点。
使用 IMediaTool 对视频进行编码时,您将获得图像序列。使用这些图像在每个图像上放置水印并生成输出视频。以下是代码块

BufferedImage imageB = event.getImage();

/*....................... water mark .........................*/
Graphics2D g2d = (Graphics2D) imageB.getGraphics();
g2d.drawImage(imageB, 0, 0, null);

//Create an alpha composite of 50%
AlphaComposite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f);
g2d.setComposite(alpha); 

g2d.setColor(Color.YELLOW);


g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);

g2d.setFont(new Font("Arial", Font.BOLD, 30));

String watermark = "Sample water mark";

FontMetrics fontMetrics = g2d.getFontMetrics();
Rectangle2D rect = fontMetrics.getStringBounds(watermark, g2d);
yScrolling = imageB.getHeight() - (int) rect.getHeight() / 2;

g2d.drawString(watermark, (imageB.getWidth() - (int) rect.getWidth()) / 2,
                         (imageB.getHeight() - (int) rect.getHeight()) / 2);
g2d.drawString(watermark, xScrolling,yScrolling);

//Free graphic resources
g2d.dispose(); 

 /*....................... water mark .........................*/

关于没有vhook的ffmpeg水印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1559691/

相关文章:

ios - 从 iOS AVAssetWriter 生成的原始 H264 mdat 获取 PTS

ios - 用 librtmp 编译 ffmpeg

powerbuilder - 向 powerbuilder 数据窗口添加水印

ffmpeg - 通过 ffmpeg 向视频添加动态定位的水印

PHP 水印 - Zubrag

php 在 s3 导入的图像上添加水印

ffmpeg - 将 FFMpeg AVPackets 解析为 h264 最终单元

c++ - FFMPEG - 格式不可用?

android - FFMPEG 图像到视频 - 命令中出现 'file not found' 错误 - 我确信这很明显

node.js - 如何向 puppeteer 生成的 PDF 添加水印?