怎么用Python实现多个MP4合成视频

  介绍

这篇文章主要介绍”怎么用Python实现多个MP4合成视频”,在日常操作中,相信很多人在怎么用Python实现多个MP4合成视频问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“怎么用Python实现多个MP4合成视频”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

<编辑类="目录">目录 <李>

开始安装使用

<李>

一、安装Python

<李>

二、安装moviepy

<李>

三、安装ffmpeg

<李>

四,开始写拼接脚本

<李>

五,等待运行完毕,完结撒花?

<李>

六、补充内容

开始安装使用

主要是利用moviepy这个库,里面提供了丰富的功能,我们只需要使用简单的拼接函数

一、安装Python

这个就不多说了,直接去官网下载对应的安装包:https://www.python.org/downloads/release/python-364/
然后双击运行,记得点添加到路径然后,一路下

二、安装moviepy

命令行执行:

pip  install  moviepy

三、安装ffmpeg

我们先使用如下命令来尝试安装:

pip  install  ffmpeg   pip  install  imageio-ffmpeg

把以上代码保存为xx。py,然后在相同目录执行命令:

python3  xx。py

如安装不成功,可以试一试以下操作:

如果之前没安装过ffmpeg,这个时候导入moviepy开始使用会报错的,所以我们可以先用imageio自带的方法下载ffmpeg
新建文本文件:

import  imageio   ssl import       #,下面这一句不是必须的,,但是某些情况下访问,https 会报SSL证书不受信任,,加上这一句可以允许通过   ssl._create_default_https_context =ssl._create_unverified_context      #,下载,ffmpeg 组件   imageio.plugins.ffmpeg.download ()

四,开始写拼接脚本

#,主要是需要moviepy这个库   得到moviepy.editor  import  *   import 操作系统      #,定义一个数组   时间=L  []      #,访问,video 文件夹,(假设视频都放在这里面)   for 根,dirs, files 拷贝os.walk (“。/video"):   ,,,#,按文件名排序   ,,,files.sort ()   ,,,#,遍历所有文件   ,,,for  file 拷贝文件:   ,,,,,,,#,如果后缀名为,mp4   ,,,,,,,if  os.path.splitext(文件)[1],==,& # 39;mp4 # 39;:   ,,,,,,,,,,,#,拼接成完整路径   ,,,,,,,,,,,filePath =, os.path.join(根,,文件)   ,,,,,,,,,,,#,载入视频   ,,,,,,,,,,,video =, VideoFileClip (filePath)   ,,,,,,,,,,,#,添加到数组   ,,,,,,,,,,,L.append(视频)      #,拼接视频   时间=final_clip  concatenate_videoclips(左)      #,生成目标视频文件   final_clip.to_videofile (“。/target.mp4", fps=24日,remove_temp=False)

把上面代码的源文件夹和目标文件名改成你自己需要的,然后把以上代码保存为连接。py文件,然后在相同目录执行命令:

python3 连接。py

五,等待运行完毕,完结撒花?

等待输出走到100%,视频就合并好了。

Moviepy 作用;Building  video 。/target.mp4。   MoviePy 安康;Writing  audio  targetTEMP_MPY_wvf_snd.mp3拷贝   MoviePy 女人做。   Moviepy 安康;Writing  video 。/target.mp4      Moviepy 安康;Done  !   Moviepy 安康;video  ready 。/目标。mp4

其实moviepy还有很多方便的方法,比如截取视频:

video =, VideoFileClip (“xxoo.mp4")      #,剪辑视频,截取视频前20秒   时间=video  video.subclip (0, 20)      #,剪辑视频,从10秒开始到视频结尾前12秒   时间=video  video.subclip (10, video.duration-12)

六、补充内容

上面的拼接代码实际上有点小问题,files.sort()把文件排序,实际上排出来的结果是不符合我们正常思维的,比如:1。mp4、10。mp4, 2。mp4。因为他是从前往后逐字符比较的,而我们想要的结果一般是:1。mp4, 2。mp4、10。mp4。这个问题除了自己写各种逻辑代码来处理,也可以直接用一个第三方库:作用,这个库提供了优秀的自然排序方法。

怎么用Python实现多个MP4合成视频