有小伙伴说直接用 python 的 ffmpeg 库更香,刚好今天领导安排了一个给视频批量加水印的任务,咱就拿它来试试水。

简介

FFmpeg 是一套强大的音视频处理程序,也是很多音视频软件的基础,事实上,FFmpeg 已经成为业界音视频处理的标准了。但命令行使用 FFmpeg 是有一定学习成本的,而 ffmpeg-python 库则很好的解决了这个问题。

通过 pip 简单安装之后即可在 python 代码中使用 ffmpeg。

pip3 install ffmpeg-python

获取视频信息

path = 'main.mp4'
probe = ffmpeg.probe(path)
video_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'video'), None)
width = int(video_stream['width'])
height = int(video_stream['height'])
print(width, height)

我们可以通过 stream 来获取视频的一些基础信息,比如尺寸、时长、帧率等。

镜像处理

# 左右镜像
ffmpeg.input(path).hflip().output('output.mp4').run()# 上下镜像
ffmpeg.input(path).vflip().output('output.mp4').run()

可以简单的理解为英文单词横向(horizontal)和纵向(vertical)的首字母缩写。

添加水印

main = ffmpeg.input(path)
logo = ffmpeg.input('logo.png')
ffmpeg.filter([main, logo], 'overlay', 0, 500).output('out.mp4').run()

这条命令的意思是,将 logo 水印图片放置在 main 视频的上方,坐标为(0,500)。可以把视频的左上角理解为原点(0,0)的位置,从原点向右和向下分别表示 x 轴和 y 轴。

当然,如果把 logo 做的足够大,比视频还要大,然后换一下双方的位置,那就会变成将视频放到 logo 上了,其实相当于给视频加了一个背景图。

ffmpeg.filter([logo, main], 'overlay', 0, 500).output('out.mp4').run()

视频截取

ffmpeg.input(path).trim(start_frame=10,end_frame=20).output('out3.mp4').run()

这条命令看起来就很容理解,start_frame 和 end_frame 分别代表起始结束帧。

视频拼接

base = ffmpeg.input(path)
ffmpeg.concat(base.trim(start_frame=10, end_frame=20),base.trim(start_frame=30, end_frame=40),base.trim(start_frame=50, end_frame=60)
).output('out3.mp4').run()

视频拼接使用 concat 函数即可。

总结

今天给大家分享了一个 python 处理视频的不错的库,希望可以给大家的工作/副业带来一些效率上的提升。

联系方式

目前开通了技术交流群,群友已超过3000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友,资料获取也可以加入

方式1、添加微信号:dkl88191,备注:来自CSDN
方式2、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

Python小工具:批量给视频加水印相关推荐

  1. 手机上如何批量给视频加水印

    手机如何批量给视频加水印,在手机上安装并启动"王者剪辑app",进入一键剪辑中的"加水印"功能, 批量导入或导入一个需要添加水印的视频, 接着导入水印素材并调整 ...

  2. Python小工具:批量给视频加水印!

    来自公众号:Python技术 有小伙伴说直接用 python 的 ffmpeg 库更香,刚好今天领导安排了一个给视频批量加水印的任务,咱就拿它来试试水. 简介 FFmpeg 是一套强大的音视频处理程序 ...

  3. python小工具-批量压缩图片

    通过PIL简单的批量压缩图片 import os import time from PIL import Image from docx import Document from docx.share ...

  4. 视频加水印怎么加?简单的方法

    视频加水印怎么加?工作中我们经常需要给视频添加水印(例如logo水印和文字水印),尤其是一些重要的视频,给视频添加水印的好处有两个:其一是可以保护视频内容不被别人随意复制盗用:其二是添加自己的专属水印 ...

  5. 批量卸载软件脚本python_Python练习小工具——批量删除同名电子书保留指定格式...

    本帖最后由 似水流年2015 于 2020-9-2 23:41 编辑 小书库清理走起,陆陆续续存了上百G的电子书,很多电子书同一本却有4种格式,epub,mobi,azw3, pdf,多浪费硬盘啊,寻 ...

  6. 每日技巧分享:视频加水印怎么加

    前几天,在我这边将制作好的视频上传到网站上的时候,突然觉得网站自带的水印效果不是很好,就想着自己做一个专属的水印.说做就做,在耗费了半小时的时间后,我制作好了一个水印效果,然后将它加到视频上再发布到了 ...

  7. java 给视频加水印

    Java 可以使用第三方库来给视频加水印.其中一个常用的库是 ffmpeg.你可以使用 ffmpeg 库中的命令行工具来给视频加水印. 首先,你需要下载 ffmpeg 库并将其添加到你的项目中.之后, ...

  8. 如何批量给视频加文字水印?

    如何批量给视频加文字水印?我们在对外发布视频前,最好提前给视频添加自己的专属水印,这样能有效的防止视频被别人恶意盗用,还能帮助自己提高品牌宣传的效果.视频水印的方式主要有两种,分别是文字水印和图片水印 ...

  9. 网易自媒体视频,批量修改md5采集下载上传,批量自动去水印加水印软件 今日头条自媒体视频,youtubu...

    网易自媒体视频,批量修改md5采集下载上传,批量自动去水印加水印软件 今日头条自媒体视频,youtubu 视频去重,批量自动去水印加水印软件 快视频,视频消重技术去水印去logo字幕工具 搜狐自媒体视 ...

最新文章

  1. unicode,ansi,utf-8,unicode big endian编码的区别
  2. 全国自考微型计算机原理及其应用,2010年10月全国自考微型计算机原理及应用试题...
  3. 基础知识 一个工具给win7 win10的同学 或者MAC 可以跳过
  4. 【视频块文件系统不得不说的故事】VBFS文件系统简介
  5. ALV调用标准GUI STATUS
  6. Python Django 使用cookie实现三天免登录及记住密码功能代码示例
  7. Angular ngOnChanges hook学习笔记
  8. SHELL中的IF判断 ​
  9. 拓端tecdat|R语言如何找到患者数据中具有差异的指标?(PLS—DA分析)
  10. Atitit.提升语言可读性原理与实践
  11. mysql 创建xml字段_使用PHP DOM从MySQL数据创建XML文件
  12. 机械优化设计c语言鲍威尔法,机械优化设计鲍威尔法.docx
  13. SOUI实例之扫雷一
  14. 输油管的布置数学建模matlab,输油管布置的数学模型
  15. R语言 重命名指定列
  16. oracle 11客户端精简版,oracle_11g精简版客户端配置
  17. Cree捐赠350万美元支持纽约理工学院的STEM教育项目,帮助培训未来的高科技劳动力
  18. linux卸载lightdm,Ubuntu安装LightDM
  19. ​证件照怎么换底色?分享一个快速换底色的方法
  20. 中国图形图象学报和计算机科学,中国图象图形学报(中国图象图形学报影响因子排名)...

热门文章

  1. 双头巨人 (twin)
  2. 吉林大学老师蓝牙点名被赞“有创意”
  3. Obi Cloth 仿真布 学习
  4. Python人脸微笑识别2-----Ubuntu16.04基于Tensorflow卷积神经网络模型训练的Python3+Dlib+Opencv实现摄像头人脸微笑检测
  5. 域名管理——DNS服务
  6. statsmodels︱python常规统计模型库
  7. 【实践与问题解决28】最全超分辨率(SR)数据集介绍以及多方法下载链接
  8. 2017.11.15作业
  9. WEB应用防火墙(WAF启明设备)
  10. Xposed模块编写方法