合并当前目录下的视频和音频文件。
要求:同一文件夹个,只能放置1个音频文件和1个视频文件,并且音频是给视频配音的等时间长度的。
python
import os
print(os.getcwd()) # 获取当前工作目录路径
dirpath=os.getcwd()
import moviepy
from moviepy.editor import VideoFileClip
from moviepy.editor import AudioFileClip
###############################################
#探测 文件夹下 后缀为mp4的文件的个数
#为了不进行二级文件夹探测,删除了else: eachFile(newDir)
def eachFile2(filepath):
pathDir2 = os.listdir(filepath)
list_temp2=[]
for s2 in pathDir2:
newDir2=os.path.join(filepath,s2)
if os.path.isfile(newDir2) :
if os.path.splitext(newDir2)[1]==".mp4":
list_temp2.append(newDir2)
pass
else:
eachFile2(newDir2)
return list_temp2
###############################################
list_temp_mp4=eachFile2(dirpath)
print('发现了mp4文件:'+str(list_temp_mp4))
print(list_temp_mp4[0])
print(list_temp_mp4[1])
#对比文件的大小,视频文件更大,音频文件更小。
stats1 = os.stat(list_temp_mp4[0])
print(stats1.st_size)
stats2 = os.stat(list_temp_mp4[1])
print(stats2.st_size)
if stats1>stats2:
video = VideoFileClip(list_temp_mp4[0]) #读视频
audio = AudioFileClip(list_temp_mp4[1]) #读音频文件
video_merge = video.set_audio(audio) #准备合并
filename_1=list_temp_mp4[0].split('.mp4')[0]
filename_1=filename_1+'合并.mp4'
video_merge.write_videofile(filename_1) #开始合并
else:
video = VideoFileClip(list_temp_mp4[1]) #读视频
audio = AudioFileClip(list_temp_mp4[0]) #读音频文件
video_merge = video.set_audio(audio) #准备合并
filename_1=list_temp_mp4[1].split('.mp4')[1]
filename_1=filename_1+'合并.mp4'
video_merge.write_videofile(filename_1) #开始合并
#安装
# pip3 install moviepy -i https://mirrors.aliyun.com/pypi/simple/
# pip3 install numpy -i https://mirrors.aliyun.com/pypi/simple/
# pip3 install imageio -i https://mirrors.aliyun.com/pypi/simple/
# pip3 install imageio_ffmpeg -i https://mirrors.aliyun.com/pypi/simple/
#当影像遇上Python:用MoviePy库轻松搞定视频编辑
#1. 阿里云镜像:https://mirrors.aliyun.com/pypi/simple/
#2. 清华大学镜像:https://pypi.tuna.tsinghua.edu.cn/simple
#3. 豆瓣镜像:https://pypi.doubanio.com/simple/
#4. 中科大镜像:https://pypi.mirrors.ustc.edu.cn/simple/
#5. 华为云镜像:https://mirrors.huaweicloud.com/repository/pypi/simple/
#6. 腾讯云镜像:https://mirrors.cloud.tencent.com/pypi/simple/
#7. 网易镜像:http://mirrors.163.com/pypi/simple/
#8. 中国科学技术大学镜像:https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/