肝了一夜,做了一款用Python给视频加水印的神器!

菜鸟学Python

共 2286字,需浏览 5分钟

 ·

2021-05-21 17:28

大家好,我是菜鸟哥!这是我第480篇原创!


今天又给大家带来一个趣味的Python案例。现在越来越多的同学都喜欢玩视频,拍Vlog来展示自己的生活,学习,旅游。


很多时候我们都要借助第三方的工具来加水印,今天菜鸟哥用Python为大家制作一款视频水印添加软件,让大家一键就可以为自己的视频添加水印,拒绝他人的盗版。


01.视频展示

我们还是先通过视频展示的方式,向大家展示一下软件的使用方法和一些注意事项。

通过视频的展示可以看到,程序首先选择了本地的原始视频,通过界面输入的方式,设置了水印的内容,以及水印的字体及大小。

通过点击“预览"按键后,可以展示添加水印后的视频样式,如果大家不喜欢该样式的话,可以重新设置水印的字体和大小。

最后点击”开始"按钮后,完成对于视频的水印添加。


02.程序解析

软件的制作,其核心程序主要可以分为以下的三个步骤:

  • 通过PIL库添加水印

  • 图片的预览

  • 视频添加水印

接下来我们按照每一个步骤来进行程序的讲解。

1).通过PIL库添加水印

相比于opencv库,利用PIL库可以选择本地的文字字体格式,并且能够支持中文水印的添加。其程序如下图所示。

由于PIL库不能读取视频,因此需要借助opencv来读取视频,获取视频的每一帧图像,并通过self.cv2PILDraw函数来对每一帧图像来添加水印。


self.cv2PILDraw函数中,先是将numpy.array类型的图像数据转化为PIL库支持的数据类型,然后利用PIL库为图像添加水印后,再次将图像转化为numpy.array类型的图像,进行返回。添加水印之后的图像如下图所示:

在图片的左上角,为图片添加了水印内容。


2).图片的预览

在视频的展示当中,通过点击“预览”按钮,可以实现预览添加水印后的视频效果,这是通过“预览”按钮绑定self.Preview函数来实现的,函数如下图所示:

程序中,通过opencv库来读取视频,获取视频的一帧图像,并通过调用self.cv2PILDraw函数来为图像添加水印后,将图片展示在界面中,点击“预览”按钮的效果如下图所示:

3).视频添加水印

如果大家通过预览后,对添加水印的结果满意的话,就可以点击“开始”按钮,为视频添加水印了,“开始”按钮绑定的是self.saveMarkVideo函数,程序如下图所示。

函数中,首先创建视频的写入对象,视频以avi的格式进行存储。通过while循环来逐帧的读取视频的每一帧,通过调用self.cv2PILDraw函数来为图像添加水印后,将图像写入到本地的视频文件当中,完成整个视频的水印添加任务。


3.总结

通过上面的讲解,小编跟大家分享了一个简易的视频水印添加器。这里主要用了cv2和PIL这两个库,有兴趣的同学可以自己动手试试,对源码进行改进增加一些功能,例如可以修改水印在视频当中的位置,以及水印的颜色等等。


如何获取源码:

在公众号后台输入:「小助手」,找他获取,备注暗号:水印。




推荐阅读:

入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径


干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影


趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!


AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影


小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!


年度爆款文案


点阅读原文,领廖雪峰视频资料!

浏览 18
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报