使用ffmpeg从视频中提取音频保存

1. 将视频中的音频提取出来

    ffmpeg -i {file_path} -f wav -ar 16000 {file_name}
    
    file_path: 视频的文件路径
    file_name: 文件名称
    -ar: 设置音频采样频率。对于输出流,它默认设置为相应输入流的频率。对于输入流,此选项仅对音频抓取设备和原始解复用器有意义,并映射到相应的解复用器选项
    -i: 输入文件网址
    -f: 强制输入或输出文件格式。通常会自动检测输入文件的格式,并根据输出文件的文件扩展名猜测格式,因此在大多数情况下不需要此选项。

2. 将音频按照时间段切片

        ffmpeg -i {file_path} -vn -acodec copy -ss {start_time} -to {end_time} -c copy {file_name}
        
	file_path: 视频的文件路径
	start_time: 开始时间
	end_time: 结束时间
	file_name: 文件名称
	-vn: 作为输入选项,阻止文件的所有视频流被过滤或自动选择或映射到任何输出
	-acodec: 设置音频编解码器。这是 的别名-codec:a
	-ss: 当用作输入选项(before -i)时,在这个输入文件中寻找 位置。请注意,在大多数格式中,无法精确查找,因此ffmpeg将查找到position之前最近的查找点
	-to: 停止在位置写入输出或读取输入, -to 和 -t 是互斥的,-t 有优先权

3. 将音频压缩

        ffmpeg -i {file_path} -b:a 64k -acodec mp3 -ar 44100 -ac 1 {file_name}
        
	file_path: 视频的文件路径
	file_name: 文件名称
	-ac: 设置音频通道数。对于输出流,它默认设置为输入音频通道的数量。对于输入流,此选项仅对音频抓取设备和原始解复用器有意义,并映射到相应的解复用器选项。
	-ar:设置音频采样频率。对于输出流,它默认设置为相应输入流的频率。对于输入流,此选项仅对音频抓取设备和原始解复用器有意义,并映射到相应的解复用器选项

4.提升音频的声音

ffmpeg -i {file_path} -filter:a "volume=5dB" {file_name}

5.查看音频分贝

ffmpeg -i {file_path} -filter_complex volumedetect -c:v copy -f null /dev/null

Q.E.D.