在ubuntu安装ffmpeg,windows安装以方便测试使用(windows的logo路径需要转义盘符,不然会报错,E\\\\:)。通过执行命令行增加水印,注意linux下执行命令和windows不同。

ubuntu安装命令

apt install ffmpeg

windows需要配置环境变量

ffmpeg免编译版本下载-WindowsServer文档类资源-CSDN下载

代码如下:

package com.xxxx.yyyy;import java.nio.charset.StandardCharsets;/*** * @Creator  Jacky* * @CreateTime 2022/3/23* * @Description*/
public class FfmpegService {public static String LINUX_PATH = "/usr/bin/ffmpeg";public static String WINDOWS_PATH = "E:\\tools\\ffmpeg\\bin\\ffmpeg.exe";public static boolean videoWaterMark(String inputPath,String outputPath,String logoPath,Integer logoLocation) {String exeTools = "";StringBuilder cmd = new StringBuilder();if (!System.getProperty("os.name").contains("Windows")) {// 非windows 系统exeTools =LINUX_PATH;cmd.append(exeTools).append(" -i ").append(inputPath).append(" -i ").append(logoPath).append(" -filter_complex overlay=").append(getLocation(logoLocation)).append(" ").append(outputPath);}else{exeTools = WINDOWS_PATH;cmd.append(exeTools).append(" -i ").append(inputPath).append(" -vf ").append(" \"").append("movie=").append(logoPath).append("[watermark];[in][watermark] overlay=").append(getLocation(logoLocation)).append("[out]\"")//.append("\" ").append(" ").append(outputPath);}System.out.println(cmd);boolean result = true;try {String cmdInfo = new String(cmd.toString().getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8);System.out.println(cmdInfo);Process proc = Runtime.getRuntime().exec(cmdInfo);HtmlToPdfInterceptor error = new HtmlToPdfInterceptor(proc.getErrorStream());HtmlToPdfInterceptor output = new HtmlToPdfInterceptor(proc.getInputStream());error.start();output.start();proc.waitFor();} catch (Exception e) {result = false;e.printStackTrace();}return result;}private static String getLocation(int location){switch (location){case 1 : return "10:10"; //左上case 2 : return "main_w-overlay_w-10:10"; //右上case 3 : return "10:main_h-overlay_h-10"; //左下case 4 : return "main_w-overlay_w-10:main_h-overlay_h-10";//右下default:  return "main_w-overlay_w-10:10";}}public static void main(String[] args) {String inputPath = "E:\\tools\\testtest.mp4";String inputPathUrl = "http://192.168.1.21:8089/testtest.mp4";String outputPath = "E:\\tools\\testtestAABB.mp4";String logoPath = "E\\\\:/tools/logo.png";videoWaterMark(inputPath,outputPath,logoPath,2);}}

java ffmpeg添加视频水印相关推荐

  1. m3u8云切片程序PHP视频切片转码系统易语言源码(支持添加视频水印)

    文章目录 前言 一.m3u8云切片程序PHP视频切片转码系统易语言源码(支持添加视频水印) 二.程序演示与下载 1.程序演示 2.程序下载 前言 这里就不过多赘述了,上篇文章对m3u8也做过介绍了,这 ...

  2. ffmpeg 添加视频加文字水印--drawtext 滤镜详解

    使用ffmpeg 命令行给视频添加文字水印,利用drawtext滤镜,如果是代码上api调用,也是一样的用法,创建好滤镜图, 在滤镜图描述字符串中,把这里命令行的参数拷贝过去替换就行,改动非常方便. ...

  3. java -PDF添加文本水印与图片水印

    java pdf添加水印文本及图片文本 PDF文件添加文本水印: private static int interval = 30;public static voidwaterMark(String ...

  4. java pdf添加图片水印图片_Java 在PDF中添加文本水印、图片水印(基于Spire.Cloud.SDK for Java)...

    Spire.Cloud.SDK for Java提供了接口pdfWartermarkApi可用于添加文本水印addTextWartermark()和图片水印addImageWartermark()到P ...

  5. 如何用Camtasia添加视频水印?

    随着人们的版权意识越来越强,知识产权的重要性也日益凸显.为视频添加水印可以很好的保护作者权益,防止视频被盗.下面我将使用Camtasia 2020(Win版)为大家介绍如何在视频中添加水印. camt ...

  6. Java实现添加文字水印、图片水印功能

    Java实现添加水印功能 添加水印 Java 2D API介绍 绘制文字水印 绘制图片水印 循环添加文字水印 添加水印 为图片添加水印的主要作用是保护图片版权,防止图片被未经授权的人使用或传播.为图片 ...

  7. Java 实现添加office水印

    因为spire免费版无法整合springboot项目上会自动注入然后编译解析错误(好恶心)所以自己用POI写了个简易的 引入依赖 org.apache.poi:poi:5.2.1 直接上代码 impo ...

  8. ffmpeg去除视频水印之计算水印位置 —— 筑梦之路

    1.截取一张视频的完整图片#[不推荐,容易算不准]使用截图工具截图一张视频完整的截图#[推荐]使用ffmpeg 命令截取视频第一帧图,示例如下ffmpeg -i test.mp4 -ss 1 -f i ...

  9. java pdf添加透明水印_如何在PDF文件中添加透明水印

    原标题:如何在PDF文件中添加透明水印 有些文件添加水印,但是又不想水印影响文件的使用有时候会设置透明水印,那么PDF怎么设置透明水印呢,应该有很多的小伙伴们都很好奇应该怎么做吧,接下来就为大家分享一 ...

最新文章

  1. 各种格式的视频播放的代码(wma格式)
  2. python 立方体切割块数_blender python通过三角函数调整立方体Location排成圆
  3. HDU 3530 Subsequence
  4. SAP UI5 sap.viz.ui5.controls.VizFrame 的 aggregation 之一:dataset
  5. pb怎么打开服务器上的文件夹,前台PB客户端怎么连接服务器上的SQL后台数据库...
  6. vivado ip xdc 和user xdc 编译顺序
  7. 计算机课ppt实验报告,北邮计算机组成原理实验课件_bupt 计算机组成原理 实验报告,北邮 计算机 计组实验-讲义工具类资源...
  8. 盛大谭群钊演讲:未来的中国游戏业
  9. ppt课堂教学流程图_ppt怎么做流程图 ppt做流程图的方法是什么
  10. nginx常用配置模板
  11. 如何在数据库中添加示例数据库Northwind
  12. FPGA-小梅哥时序分析
  13. 北京年内首现二手房连续三日成交破450套
  14. 不同币种间的清账 应付账款是USD记账 预付账款账款是人民币记账 如何清账
  15. 成品系统搭建 一周就可以上线运营
  16. 迅捷pdf转换器——如何提取pdf中的图片
  17. h5 禁止返回_Html5拦截Android返回键方法
  18. 网站导航应该怎么设计?
  19. Scrape Center爬虫平台之spa8案例
  20. 计算机软件考试考几天,【软考考试时间是多久?软考时间有多长?】- 环球网校...

热门文章

  1. 这些常见产品问题你会解吗?
  2. r5 4650g和r7 4750g核显对比 r5 4650g和4750g差距大不大
  3. 用计算机根据姓名填充地址,如何在一个excel表格中引用另一个表格的数据,并自动填充-excel自动填写,excel按照姓名自动匹配数据...
  4. 验证码在风控中的实际应用
  5. find命令及文件名后缀
  6. python016--编写代码,在用户设置新的密码时进行判断,如果小于8则让用户重新设置,如果密码里面每含有一个数字,或大写字母,小写字母,标点符号,密码位数超过10则将密码等级加1分........
  7. Mac OS升级出现报错信息:将安装器信息下载到目标宗卷失败
  8. [TIFS 2022] FLCert:可证明安全的联邦学习免受中毒攻击
  9. JSM 2019 | 数据驱动在滴滴,详解智能出行时代的统计思维
  10. 【Debug系列】Debug运行正常但是Release出现错误的原因