Python:pydub和ffmpeg处理视频中音频的格式

Python:pydub和ffmpeg处理视频中音频的格式

今天,我们来分享一个在python中处理视频中音频格式的方法。Python中处理视音频文件,常用的库为pydub。也可以使用ffmpeg来处理。通过这两个库可以方便的读取视音频文件,并对视音频文件的各类参数进行修改。

安装pydub

pydub库是python的一个高级音频处理库。安装pydub,只要打开命令提示符窗口,将路径修改到python路径下
Python:pydub和ffmpeg处理视频中音频的格式_第1张图片输入以下代码即可:

pip install pydub

导入ffmpeg

ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源程序。提供了录制、转换以及流化音视频的解决方案,几乎囊括了现存所有的视音频编码标准。
安装ffmpeg,可以从ffmpeg的官网下载:
https://ffmpeg.zeranoe.com/builds/。
这里下载的是static版本,一个压缩文件,解压到指定目录,然后配置系统环境变量就可以使用了。
Python:pydub和ffmpeg处理视频中音频的格式_第2张图片

修改视频中音频的格式

修改视频中音频的格式,可以先读取视频文件,查看其参数,如与所需参数不符合,可以将其中的视频和音频提取出来,修改音频参数,再将两个文件合并。

  1. 读取mp4文件,查看视频参数

from pydub import AudioSegment
import ffmpeg
import subprocess
#读取视频文件,查看音频参数
movie = AudioSegment.from_file(filepath)
channels = movie.channels #声道数
sample_width = movie.sample_width #采样大小
frame_rate = movie.frame_rate #帧率

  1. 使用ffmpeg 将视频分离

subprocess.call('ffmpeg -i ’ + filepath + ’ -vcodec copy -an ’ + videopath,shell=True)

  1. 将音频分离,并修改其声道数,帧率

movie.export(mp3path,format=“mp3”,
parameters=["-ac", “2”, “-ar”, “48000”])

  1. 使用ffmpeg合并已处理的音频和视频文件

subprocess.call(‘ffmpeg -i ’ + videopath+ ’ -i ’ + mp3path+’ -vcodec copy -acodec copy ’ + filepath,shell=True)

这样就完成了对视频中音频参数的修改。

你可能感兴趣的:(Python)