当前位置:   article > 正文

【Python网络蜘蛛 · 8】:moviepy模块实现音频+视频的合成_python合并视频和音频

python合并视频和音频

目录

1、随意搜索一个视频,进行抓包

2、获取第一个疑似音频或视频的包

示例代码如下:

3、抓取视频文件

 代码如下:

4、视频合成

(1)下载模块:pip install moviepy

(2)导入模块:from moviepy.editer import *

(3)具体实现


抓取不同网页的视频,要通过一定的分析,有些视频的响应里包含了音频视频,但是有些视频的响应是音视频分开,需要自己去分析,将音频和视频的url找到,然后抓取下来,再组合,合成一个完整的视频。

1、随意搜索一个视频,进行抓包

在抓包时应先清空所有包,然后再打开视频,这时会出现一些包,暂定视频,分析包数据。

分析响应的时候应注意一般视频和音频的后缀都有MP4或MP3,所以音频或视频的响应中可能包含有关疑似MP4或MP3的字眼。

以下是我们找到的可能是音频或视频的包,先将此包抓取下来再判断。

2、获取第一个疑似音频或视频的包

示例代码如下:

  1. import requests
  2. url = ''
  3. headers = {
  4. 'User-Agent': '', # 使用自己的User-Agent
  5. 'Referer': ''
  6. }
  7. res = requests.get(url, headers=headers)
  8. with open('F:/视频.mp3', 'wb') as f:
  9. f.write(res.content)
  10. print('视频.mp3保存成功')

抓取成功后点击打开,如果有声音则获取的是音频,如果打不开或没有声音则可能是视频文件,需要把视频.mp3改成视频.mp4,下载好后打开判断。

通过打开判断,获取到的是音频文件。

3、抓取视频文件

 代码如下:

  1. import requests
  2. url = ''
  3. headers = {
  4. 'User-Agent': '', # 使用自己的User-Agent
  5. 'Referer': ''
  6. }
  7. res = requests.get(url, headers=headers)
  8. with open('F:/视频.mp4', 'wb') as f:
  9. f.write(res.content)
  10. print('视频.mp4保存成功')

下载成功后打开判断,它是一个视频文件,没有声音,这时我们需要通过视频合成的操作,获得一个完整的视频。

4、视频合成

(1)下载模块:pip install moviepy

(2)导入模块:from moviepy.editer import *

(3)具体实现

  1. from moviepy.editor import *
  2. # 获取下载好的音频和视频文件
  3. ad = AudioFileClip('F:/视频.mp3')
  4. vd = VideoFileClip('F:/视频.mp4')
  5. vd2 = vd.set_audio(ad) # 将提取到的音频和视频文件进行合成
  6. vd2.write_videofile('F:/合成视频.mp4') # 输出新的视频文件

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

闽ICP备14008679号