当前位置:   article > 正文

Python moviepy

python moviepy

Python moviepy

1.安装

pip install moviepy
  • 1

2.导包

import moviepy.editor as mpy
from moviepy.editor import VideoFileClip
from moviepy.editor import AudioFileClip
from moviepy.editor import ImageSequenceClip
  • 1
  • 2
  • 3
  • 4
  • VideoFileClip加载视频文件
  • AudioFileClip加载音频文件
  • ImageSequenceClip 可以从指定的文件夹加载一系列按顺序命名的图像文件,也可以直接使用图像数组来创建图像序列。每个图像文件或图像数组都将被视为视频的一帧。

3.提取A视频的音频,注入到B视频中

# 读取2个视频文件 
videoclip_a = VideoFileClip("1644974996.mp4")
videoclip_b = VideoFileClip("1644974998.mp4")

# 提取A视频文件的音频部分
audio_a = videoclip_a.audio

# 给B设置音频,注意视频最终合成的大小会依据长的为准
videoclip_c = videoclip_b.set_audio(audio_a)

# 输出新的视频文件
videoclip_c.write_videofile("videoclip_c.mp4")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

4.去掉视频声音

video = VideoFileClip('1644974996.mp4')
video = video.without_audio()
  • 1
  • 2

5.提取视频中的音频内容

clip = VideoFileClip('./1644974996.mp4').subclip(10, 20)
# .subclip(10, 20):对视频进行剪辑,截取从第10秒到第20秒之间的片段。
audioclip1 = clip.audio  # 从视频对象中提取音频
audioclip1.write_audiofile('a.mp3')  # 写入音频文件
  • 1
  • 2
  • 3
  • 4

时间戳问题

import time
start_time = time.time()

end_time = time.time()
run_time = end_time - start_time
minutes, seconds = divmod(run_time, 60)
hours, minutes = divmod(minutes, 60)
print(f"程序运行时间:{int(hours)} 小时, {int(minutes)} 分钟, {seconds:.2f} 秒")

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

divmod()是一个内置函数,它接受两个参数,第一个参数是要进行除法和取余操作的数值(run_time),第二个参数是除数(60,表示一分钟的秒数)。这个函数返回一个包含商和余数的元组。

minutes, seconds = divmod(run_time, 60):将返回的元组中的商(即分钟数)和余数(即剩余的秒数)分别赋值给minutes和seconds变量。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/957303
推荐阅读
相关标签
  

闽ICP备14008679号