美文网首页
通过ffmpeg处理视频水印

通过ffmpeg处理视频水印

作者: Mr_三明治 | 来源:发表于2021-10-08 14:33 被阅读0次

ffmpeg简介

项目做重构,旧项目视频及图片资源要向新项目迁移,但旧项目到新项目项目名称有调整,因而资源的迁移也要去除对应的标记,背景是老项目做视频上传时,固定位置有水印,根据产品需求,需要将老的视频资源上的水印去除,于是考虑到使用视频工具ffmpeg。

ffmpeg是可以转换音视频流的工具,其包含丰富的音视频处理工具库,提供了录制、转换以及流化音视频的完整解决方案。也包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

ffmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括WindowsMac OS X等。很多常用的音视频处理工具底层都是使用FFmpeg。

基本安装及命令

window安装比较简单。直接下载解压即可

1)下载进入http://ffmpeg.org/download.html#build-windows选择点击打开链接Windows对应的版本下载

2)解压 ffmpeg-20170418-6108805-win64-static.zip 文件到指定目录;

3)将解压后的文件目录中 bin 目录(包含 ffmpeg.exe )添加进 path 环境变量中;

安装完成后执行 ffmpeg -version 看安装是否成功。

ffmpeg的命令都是ffmpeg开始,加执行参数而成,如下:

ffmpeg -i [source] cmd [source] cmd [param] ...... [output]

常用命令整理

1).视频中音频提取

ffmpeg -i apple.mp4 -f mp3 -vn apple.mp3

2).视频中加入mp3

ffmpeg -i out.mp3 -i kiss.mp4 -y new.mp4

3).音视频裁剪

ffmpeg -i out.mp3 -ss 00:00:00 -t 4 123.mp3

4).获取音视频信息

ffmpeg -i source.mp4

5).视频固定位置加马赛克 xy位置坐标 wh马赛克的大小

ffmpeg -i source.mp4 -filter_complex delogo=x=%s:y=%s:w=200:h=50:show=0,delogo=x=%s:y=%s:w=200:h=50:show=0 out.mp4

6).ffplay 开启摄像头

ffplay -f vfwcap -i 0

7).rtmp推流到服务器

ffmpeg -f dshow -i video="USB 视频设备" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/234

8).rtmp推视频流到服务器

ffmpeg.exe -re -i 100MB.mp4 -f flv rtmp://192.168.23.124:1935/live/123

Java集成ffmpeg处理水印工具

如上命令5,通过Java调用系统命令,调用ffmpeg处理水印并将视频存储到本地。代码如下:

Java code

通过Jvm调用系统命令执行ffmpeg命令。其中通过视频的大小(长和宽<也可以由ffmoeg获取>)计算水印的位置。

加水印的命令:"delogo=x=%s:y=%s:w=200:h=50:show=0,delogo=x=%s:y=%s:w=200:h=50:show=0",表示在视频的两个位置去除水印,水印大小为长200,宽50,两个坐标计算后,由String.format格式化加入。

处理前后效果

处理效果图

写在后面:

由于作者只是简单集成使用,暂未进行过多的深入学习,当然ffmpeg还有包含更多实用性的功能,包括搭建音视频服务器,并且推流实现直播功能等。欢迎读者一起学习,并探讨!

相关文章

  • 通过ffmpeg处理视频水印

    ffmpeg简介 项目做重构,旧项目视频及图片资源要向新项目迁移,但旧项目到新项目项目名称有调整,因而资源的迁移也...

  • FFmpeg滤镜(9)

    FFmpeg视频抠图合并 FFmpeg除了半透明、透明水印处理外,还支持视频抠图与背景视频合并的操作——chrom...

  • FFmpeg滤镜(3)

    FFmpeg为视频加图片水印 1、movie滤镜 如图,通过movie读取图片文件作为水印,显示在x坐标30、y坐...

  • ffmpeg命令基础

    ffmpeg 命令 去水印命令 快影去水印ffmpeg命令(建议二) 命令一: 命令二:show=1 调试 视频加...

  • Flutter音视频裁剪flutter_ffmpeg踩坑笔记

    flutter_ffmpeg是什么? ffmpeg是一个音视频处理库,通过命令行的形式,对音视频进行处理,而Mob...

  • mac ffmpeg简单应用

    homebrew安装ffmpeg(附带ffplay)加水印 去水印(马赛克) 用播放器播放视频 ,找出水印的具体位...

  • 微商必备工具 做微商这些少不了!

    第一:微商水印相机 1:图片处理(水印、二维码、海报、拼图), 2:视频处理(视频拼图、视频水印、视频海报)、 3...

  • FFMpeg常用指令

    水印篇 1、添加水印ffmpeg官方提供了另外一种添加图片水印的方法在视频右下角的添加图片水印 在视频左下角添加图...

  • ffmpeg视频加水印

    int64_t lastPts;int64_t lastDts;int64_t la...

  • FFmpeg滤镜(12)

    FFmpeg生成测试元数据 FFmpeg不但可以处理音视频文件,还可以生成音视频文件,可以通过lavfi设备虚拟音...

网友评论

      本文标题:通过ffmpeg处理视频水印

      本文链接:https://www.haomeiwen.com/subject/ljrxoltx.html