使用 python 剪辑/合成 短视频

2019-04-13  本文已影响0人  清风徐来_简

工具准备

"""
pip install natsort (视频按序号排序)
pip install moviepy(核心)
ffmpeg工具(必须)
ImageMagick工具(可选)
"""

MoviePy依赖于Python模块NumpyimageioDecoratortqdm,它们将在MoviePy的安装过程中自动安装。首次使用MoviePy时,应自动下载/安装软件FFMPEG(可通过imageio方式安装)。

示例1:合成视频

# 主要是需要moviepy这个库
from moviepy.editor import *
import os
from natsort import natsorted
# 定义一个数组
L = []

# 访问 video 文件夹 (假设视频都放在这里面)
for root, dirs, files in os.walk(r"C:\Users\hao\Downloads"):
    # 按文件名排序
    files = natsorted(files)
    # 遍历所有文件
    for file in files:
        # 如果后缀名为 .ts
        if os.path.splitext(file)[1] == '.ts':
            # 拼接成完整路径
            filePath = os.path.join(root, file)
            # 载入视频
            video = VideoFileClip(filePath)
            # 添加到数组
            L.append(video)

# 拼接视频
final_clip = concatenate_videoclips(L)

# 生成目标视频文件
final_clip.to_videofile(r"C:\Users\hao\Desktop\video.mp4", fps=24, remove_temp=False)

示例2:视频剪辑,选择50s和60s之间的子剪辑

from moviepy.editor import *

video = VideoFileClip("E:\励志小熊.mp4").subclip(50,60)
# 从10秒开始到视频结尾前12秒 .subclip(10, video.duration-12)
result = CompositeVideoClip([video, ]) 
result.write_videofile("E:\励志小熊1.mp4",fps=25) 

用 cmd 命令行合成 ts 视频,相当快

上一篇 下一篇

猜你喜欢

热点阅读