ffprobe
、ffmpeg
和 ffplay
是 **FFmpeg **多媒体框架中的三个主要工具,它们各自有不同的用途:
. ffprobe
ffprobe
是一个命令行工具,用于分析多媒体文件并显示其详细信息。它主要用于获取媒体文件的元数据和技术参数,比如编码格式、比特率、时长、分辨率、音频/视频流的信息等。
使用示例
查看音频文件的详细信息:
ffprobe -i input.mp3
stream参数:
- Stream #0:0
Stream #0:0
:表示这是第一个输入文件(从 0 开始计数)中的第一个流(也从 0 开始计数)。
#0
:表示文件索引号,这里是第一个文件。:0
:表示流索引号,这里是第一个流。
- Audio
- Audio:表示这是一个音频流。
- mp3 (mp3float)
- mp3:表示音频流的编码格式是 MP3。
- (mp3float):表示使用浮点数表示法处理 MP3 编码。具体来说,
mp3float
可能表示解码时使用浮点运算以提高解码精度或音质。
- 8000 Hz
- 8000 Hz:表示音频流的采样率为 8000 赫兹(Hz)。采样率越高,音频质量越好,但文件也会更大。8000 Hz 通常用于电话和语音通信,因为它对语音是足够的,但对音乐来说质量较低。
- mono
- mono:表示音频流是单声道(monophonic)。单声道音频只有一个声道,与之相对的是立体声(stereo),后者有两个或更多声道。
- fltp
- fltp:表示音频数据的采样格式为浮点数(floating-point)。
fltp
通常表示每个采样点使用浮点数存储,可以提高音频处理的精度和质量。
- 16 kb/s
- 16 kb/s:表示音频流的比特率为 16 千比特每秒(kbps)。比特率越高,音频质量越好,但文件也会更大。16 kbps 是比较低的比特率,通常用于语音等对音质要求不高的场景。
总结
这段信息描述了一段音频流的详细技术参数:
- 文件和流编号:这是第一个文件中的第一个音频流。
- 编码格式:音频流使用 MP3 编码,并且是以浮点数格式处理的。
- 采样率:音频的采样率为 8000 Hz,适合语音通信。
- 声道:音频是单声道的。
- 采样格式:音频数据使用浮点数格式存储。
- 比特率 :音频流的比特率为 16 kbps,适合低带宽的语音应用。
这些参数共同决定了音频流的质量、大小和适用场景。
Stream参数修改示例
Stream #0:0: Audio: mp3 (mp3float), 44100 Hz, stereo, fltp, 32 kb/s
修改为->
Stream #0:0: Audio: mp3 (mp3float), 8000 Hz, mono, fltp, 16 kb/s
使用命令:
ffmpeg -i input.mp3 -ar 8000 -ac 1 -b:a 16k output.mp3
参数解释
-i input.mp3:输入文件。
-ar 8000:将采样率设置为 8000 Hz。
-ac 1:将声道数设置为单声道(mono)。
-b:a 16k:将音频比特率设置为 16 kbps。
output.mp3:输出文件。
调整MP3源文件音量大小
shell
ffmpeg -i welcome2.mp3 -filter:a "volume=0.5" output.mp3
ffmpeg
提供了一个名为 volume
的音频过滤器,可以调整音频的音量。
在这个命令中:
-i input.mp3
是输入的 MP3 文件路径。-filter:a "volume=0.5"
使用volume
滤镜将音量调整为原来的 50%。你可以根据需要调整音量的比例,例如volume=0.8
表示将音量降低到原来的 80%,volume=0.2
表示降低到 20%。output.mp3
是生成的音量调整后的 MP3 文件。
这个命令会创建一个新的 MP3 文件output.mp3
,其音量已根据指定的比例进行调整。如果你想要调整音量的分贝级别,可以使用dB
单位,例如:
shell
ffmpeg -i input.mp3 -filter:a "volume=-5dB" output.mp3
调整音量的分贝级别,可以使用 dB
单位,例如:
shell
ffmpeg -i input.mp3 -filter:a "volume=-5dB" output.mp3
这会将音量降低 5 分贝。音量的调整可以通过使用正值或负值来增加或减少。