Moviepy模块之视频添加文本水印

Posted 空空star

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Moviepy模块之视频添加文本水印相关的知识,希望对你有一定的参考价值。

文章目录

前言

大家好,我是空空star,本篇给大家分享一下Moviepy模块之视频添加文本水印。
本篇使用的moviepy版本如下:
Name: moviepy
Version: 1.0.3


视频添加文本水印

1.1 引入库

from moviepy.video.VideoClip import TextClip
from moviepy.video.compositing.CompositeVideoClip import CompositeVideoClip
from moviepy.video.io.VideoFileClip import VideoFileClip

1.2 加载视频文件

local = '/Users/kkstar/Downloads/video/'
video = VideoFileClip(local+"demo.mp4")

1.3 创建文本水印

txt_clip = TextClip("空空star", fontsize=30, color='white',font='STHeitiMedium.ttc')

1.4 设置文本水印的位置和持续时间

# 将文本水印放置在视频的右下角
txt_clip = txt_clip.set_pos(('right','bottom')).set_duration(video.duration)
# 将文本水印放置在视频的左上角
# txt_clip = txt_clip.set_pos(('left','top')).set_duration(video.duration)
# 将文本水印放置在视频的中心
#txt_clip = txt_clip.set_pos(('center','center')).set_duration(video.duration)

1.5 将文本水印与视频合并

watermark = CompositeVideoClip([video, txt_clip])

1.6 保存水印视频

watermark.write_videofile(local+"output.mp4")

总结

  1. 使用MoviePy的VideoFileClip函数加载视频。
  2. 使用TextClip函数创建文本水印,可以设置文本内容、字体大小、颜色等参数。
  3. 使用set_pos和set_duration函数设置文本水印的位置和持续时间。
  4. 使用CompositeVideoClip函数将视频和文本水印合成为一个新的视频。
  5. 使用write_videofile函数保存输出视频。

注意事项

1.1 需要安装imagemagick

我的笔记本是mac,则通过以下命令安装即可。

brew install imagemagick

1.2 需要指定字体文件名

对于中文文本水印,TextClip的参数font不用字体名,而是用字体文件名。
再将所需要的字体文件拷贝到代码同级目录下即可。

libVLC 添加图片和文本水印

作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员

在使用 VLC 播放视频时,如果想添加 logo 或水印,可以使用“效果及滤镜”。这使用的是叠加视频效果,此效果将允许我们加载 JPG、PNG 等图片。

这里的设置比较丰富,不仅能自定义 logo 在视频上的位置,还可以设置该水印的透明度,以便它不会挡住当前播放的视频文件。如果愿意,还可以添加文本叠加层。

当然,使用 libVLC 实现这样的功能也很简单,先来看一下效果图(左上角显示图片水印,右上角显示文本水印):

数据结构

在 libVLC 中,logo 和文本的控制主要涉及以下数据结构和接口。

logo

logo 选项由 libvlc_video_logo_option_t 表示, 主要用于 libvlc_video_get,set_logo_int,string 的接口调用,以获取和设置 logo。

以上是关于Moviepy模块之视频添加文本水印的主要内容,如果未能解决你的问题,请参考以下文章

Moviepy模块之视频去除声音添加音乐

安装ImageMagick

moviepy第一天|模糊视频中卓别林的头,并添加一个文本生成的结尾clip,同时保留音频

教你一个快速视频处理的神器:Python moviepy

Android NDK开发之FFmpeg视频添加水印

如何在视频/图像上添加图像或文本(水印) - Flutter/Dart