Python_视频_Moviepy_电视墙效果

功能简介

        本脚本程序用于读取一个视频文件,然后对其进行水平翻转、垂直翻转和再次水平翻转,最后将这四个视频组合成一个二维数组,并保存为一个新的视频文件。该程序使用了moviepy库来处理视频。 

工作流程

  1. 读取输入视频文件。
  2. 对视频进行水平翻转。
  3. 对视频进行垂直翻转。
  4. 对垂直翻转后的视频再次进行水平翻转。
  5. 将四个视频组合成一个二维数组。
  6. 将组合后的视频保存为新的视频文件。 

代码展示 

# 电视墙效果
from moviepy.editor import VideoFileClip, clips_array, vfx
def dianshiqian(input_path,output_path):
    # input_path:源视频路径
    # output_path:输出视频命名及路径
    # 加载源视频
    move1 = VideoFileClip(input_path)
    # 将源视频水平翻转
    move2 = move1.fx(vfx.mirror_x)
    # 将视频垂直翻转
    move3 = move1.fx(vfx.mirror_y)
    # 将视频垂直翻转后水平翻转
    move4 = move3.fx(vfx.mirror_x)
    # 将四个视频合成一个2*2的二维数组
    new_move = clips_array([[move1, move2], [move3, move4]])
    # 将组合后的视频写入输出文件,音频编码为aac,视频编码为libx264
    new_move.write_videofile(output_path, audio_codec="aac", codec="libx264")


# 获取用户输入的文件路径
user_input = input("请输入源视频文件路径: ")

# 将反斜杠替换为原始字符串表示法中的反斜杠
path1 = user_input.replace("\\", "\\\\")

#自定义新视频文件路径
user_output = input("请输入输出文件路径: ")
# 将反斜杠替换为原始字符串表示法中的反斜杠
path2 = user_output.replace("\\", "\\\\")



dianshiqian(input_path=path1,
            output_path=path2)

 使用效果

源视频
处理后效果

 

所使用的库和函数

  • moviepy: 用于视频处理。
    • VideoFileClip: 用于读取视频文件。
    • fx: 用于对视频进行各种效果处理。
    • vfx.mirror_x: 用于水平翻转视频。
    • vfx.mirror_y: 用于垂直翻转视频。
    • clips_array: 用于将多个视频组合成一个二维数组。
    • write_videofile: 用于将视频写入文件。

函数和参数说明

  • VideoFileClip(input_path): 读取指定路径的视频文件。
  • input_path: 输入视频文件的路径。
  • fx(vfx.mirror_x): 对视频进行水平翻转。
  • vfx.mirror_x: 水平翻转视频效果。
  • fx(vfx.mirror_y): 对视频进行垂直翻转。
  • vfx.mirror_y: 垂直翻转视频效果。
  • clips_array([[move1, move2], [move3, move4]]): 将多个视频组合成一个二维数组。
  • [[move1, move2], [move3, move4]]: 组合后的视频数组。
  • write_videofile(output_path, audio_codec="aac", codec="libx264"): 将视频写入文件。
  • output_path: 输出视频文件的路径。
  • audio_codec="aac": 音频编码格式为aac。
  • codec="libx264": 视频编码格式为libx264。 

运行注意事项

  • 确保已安装moviepy库。
  • 确保输入视频文件路径正确,并且文件存在。
  • 确保输出视频文件路径正确,并且有写入权限。
  • 确保系统有足够的内存和CPU资源来处理视频文件。
  • 确保视频文件的格式和编码与指定的音频和视频编码格式兼容。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值