戳人痛处

导航

[记]python的音频波形读取与音视频剪辑

1.音频波形读取

import librosa

aaa = librosa.load("233.mp3")
# print(aaa)
print(aaa[0])#波形数据
print(aaa[1])#码率
# print(len(aaa[0])/aaa[1])
s_play = len(aaa[0])//aaa[1]#时长
print(aaa[0])
bps = aaa[1]
s_list = []
s_min = min(aaa[0])
s_max = max(aaa[0])
for idx in range(0,s_play):#平均音量
    s_list.append(sum(aaa[0][idx*bps:(idx+1)*aaa[1]])/bps)
def max_volum(llist,value):
    clip_save = []
    for idx in llist:
        clip_save.append(idx>value)
        # if value>value:
    return clip_save
ss_list = []#时间减半
for idx in range(0,int((s_max-s_min)*10)):
    ss_list = max_volum(s_list,idx/10)
    if sum(ss_list)>s_play/2:
        print(ss_list)
        break

2.视频剪辑合成

from moviepy import editor
video_clip = editor.VideoFileClip("241.mp4")

# 截取10到20秒
video_clip1 = video_clip.subclip(1,3)
# 截取1分45秒到结尾的前两秒
video_clip2 = video_clip.subclip(1,3)
video_clip3 = video_clip.subclip(3,8)
video_clip4 = video_clip.subclip(3,8)

cp=editor.concatenate_videoclips([video_clip1,video_clip2,video_clip3,video_clip4])
# cp.write_videofile()
# cp=editor.CompositeVideoClip([video_clip1,video_clip2])
cp.write_videofile("252.mp4")

 

posted on 2023-01-30 11:32  戳人痛处  阅读(85)  评论(0编辑  收藏  举报