前言
作为一个职业病+懒癌的人,你还在为孩子痴迷看的动画片而担心视力发愁吗?你还在为提取视频中的音频而在用格式工厂?
NO, NO, NO,作为懒癌的我们,可以写代码呀,将动画片转为音频+纸质书啊,这样即保护了视力,还培养了爱阅读的好习惯,何乐而不为呢?如若你也是一位职场宝爸\宝妈,欢迎关注微公众号“荪荪陪娃”,在技术的道路上,我们一起交流学习科学育儿。
废话少说,上代码。
实现部分
我以提取英文动画片的音频为例:
# coding=utf-8
from moviepy.editor import *
def getFile_name(file_dir, ext='.mp4'):
# file_dir = self.xmlRoot
L = []
for root, dirs, files in os.walk(file_dir):
# print(files)
for file in files:
if os.path.splitext(file)[1] == ext:
pathlist = os.path.join(root, file)
L.append(pathlist) # L.append(os.path.splitext(file)[0]) # L.append(os.path.join(root, file))
return L
videos_dir = r"H:\糖果\跟小小孩说英文分集视频\跟小小孩说英文5-mp4视频"
audio_dir = r"H:\糖果\跟小小孩说英文分集视频\跟小小孩说英文5-mp3音频"
def main():
videos = getFile_name(videos_dir)
for videoname in videos:
print(videoname)
video = VideoFileClip(videoname)
audio = video.audio
_, namext = os.path.split(videoname)
audioname = namext.replace('.mp4', '.mp3')
if not os.path.exists(audio_dir):
os.makedirs(audio_dir)
audiopath = os.path.join(audio_dir, audioname)
audio.write_audiofile(audiopath)
if __name__ == '__main__':
main()