当前位置:首页python > 正文

【python内部资料】视频剪辑功能实现

作者:野牛程序员:2023-11-17 09:09:29python阅读 2618
  1. 可以使用Python中的一些库和工具来创建一个简单的短视频生成工具。以下是一个基本的示例,使用MoviePy库:


请确保已安装所需的库,可以使用以下命令安装:

     pip install moviepy



  1. 确认ImageMagick已正确安装: 确保你已经正确地安装了ImageMagick。你可以从ImageMagick官方网站下载并安装。在安装过程中,请确保勾选“将convert添加到系统路径”或手动将ImageMagick的convert.exe所在目录添加到系统的PATH中。

  2. from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip
    from moviepy.video.fx import all
    from moviepy.config import change_settings
    
    # 指定ImageMagick的路径
    change_settings({"IMAGEMAGICK_BINARY": r"D:\\Program Files\\ImageMagick\\magick.exe"})

from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip
from moviepy.video.fx import all
from moviepy.config import change_settings

# 指定ImageMagick的路径
change_settings({"IMAGEMAGICK_BINARY": r"D:\\Program Files\\ImageMagick\\magick.exe"})

# 加载视频剪辑
clip = VideoFileClip("E:\\\\l20231116110421.mp4")

# 创建文本剪辑列表
text_clips = [
    TextClip("弘一法师说:",font='SimHei', fontsize=60, color='white', bg_color='transparent', size=(640, 480)),
    TextClip("人生最忌讳的就是过于圆满", font='SimHei',fontsize=46, color='yellow', bg_color='transparent', size=(640, 480)),
    TextClip("人生最好的状态就是求缺不求满", font='SimHei',fontsize=46, color='red', bg_color='transparent', size=(640, 480)),

    TextClip("福不可享尽,让三分给他人", font='SimHei', fontsize=46, color='white', bg_color='transparent', size=(640, 480)),
    TextClip("利不可占尽,留三分给他人", font='SimHei', fontsize=46, color='yellow', bg_color='transparent',
             size=(640, 480)),
    TextClip("功不可贪尽,分三分给他人", font='SimHei', fontsize=46, color='red', bg_color='transparent',
             size=(640, 480)),
    TextClip("若福禄寿俱全,就布施送给他人", font='SimHei', fontsize=46, color='white', bg_color='transparent',
             size=(640, 480)),
     TextClip("野牛程序员", font='SimHei', fontsize=46, color='red', bg_color='transparent',
             size=(640, 480)),
]

# 设置文本剪辑的位置、持续时间和行间距
line_height = 100
for idx, text_clip in enumerate(text_clips):
    text_clip = text_clip.set_position(('center', +line_height * idx)).set_duration(clip.duration)
    # 使用 TextClip 的 on_color 参数实现逐渐输出效果
    text_faded = text_clip.fx(all.fadein, 8).fx(all.fadeout, 8)
    text_clips[idx] = text_faded

# 将文本剪辑叠加到视频剪辑上
video_with_text = CompositeVideoClip([clip] + text_clips)

# 保存输出视频
video_with_text.write_videofile("E:\\\\output_video.mp4", codec='libx264')

from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip
from moviepy.video.fx import all
from moviepy.config import change_settings
import datetime

# 指定ImageMagick的路径
change_settings({"IMAGEMAGICK_BINARY": r"D:\\Program Files\\ImageMagick\\magick.exe"})

# 加载视频剪辑
clip = VideoFileClip("E:\\\\l20231116110421.mp4")

# 创建文本剪辑列表
text_clips = [
    TextClip("弘一法师说:", font='SimHei', fontsize=60, color='white', bg_color='transparent', size=(640, 480)),
    TextClip("人生最忌讳的就是过于圆满", font='SimHei', fontsize=46, color='yellow', bg_color='transparent', size=(640, 480)),
    TextClip("人生最好的状态就是求缺不求满", font='SimHei', fontsize=46, color='red', bg_color='transparent', size=(640, 480)),

    TextClip("福不可享尽,让三分给他人", font='SimHei', fontsize=46, color='white', bg_color='transparent', size=(640, 480)),
    TextClip("利不可占尽,留三分给他人", font='SimHei', fontsize=46, color='yellow', bg_color='transparent',
             size=(640, 480)),
    TextClip("功不可贪尽,分三分给他人", font='SimHei', fontsize=46, color='red', bg_color='transparent',
             size=(640, 480)),
    TextClip("若福禄寿俱全,就布施送给他人", font='SimHei', fontsize=46, color='white', bg_color='transparent',
             size=(640, 480)),
     TextClip("野牛程序员", font='SimHei', fontsize=46, color='red', bg_color='transparent',
             size=(640, 480)),
]

# 设置文本剪辑的位置、持续时间和行间距
line_height = 100
for idx, text_clip in enumerate(text_clips):
    text_clip = text_clip.set_position(('center', +line_height * idx)).set_duration(clip.duration)
    # 使用 TextClip 的 on_color 参数实现逐渐输出效果
    text_faded = text_clip.fx(all.fadein, 8).fx(all.fadeout, 8)
    text_clips[idx] = text_faded

# 将文本剪辑叠加到视频剪辑上
video_with_text = CompositeVideoClip([clip] + text_clips)

# 生成当前时间的字符串,格式为年月日时分秒
current_time = datetime.datetime.now().strftime("%Y%m%d%H%M%S")

# 保存输出视频,文件名后添加年月日时分秒
output_filename = f"E:\\\\output_video_{current_time}.mp4"
video_with_text.write_videofile(output_filename, codec='libx264')


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击