ffmpeg是视频和音频处理的利器,各种转格式,提取视频中的图片,合并或者分隔音频,录制屏幕,加字幕啊…都是可以的。
因为有需求需要获取音频的长度然后来分割。
虽然ffmpeg -i xxx file也可以获取到音频的长度,但是可能需要正则去匹配,然后发现他们家族的ffprobe就可以直接返回json格式的音频信息。ffprobe是一个多媒体流分析工具。
大概命令如下:
ffprobe -v quiet -print_format json -show_format -show_streams 1.wav
python中可以这样子调用:
import subprocess as sp
try:
command = ['ffprobe', '-v', 'quiet', '-print_format', 'json', '-show_format','-show_streams', item["file_path"]]
wav_info = sp.check_output(command, stderr=sp.STDOUT)
print(wav_info)
except sp.CalledProcessError as e:
print('get audio info by ffprobe error %s' % e.output)
分割音频就需要用到ffmpeg了,大概命令如下:
ffmpeg -i 1.wav -ss 00:00:03 -t 00:00:12 -acode