首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wav音频文件压缩不起作用

Wav音频文件压缩不起作用
EN

Stack Overflow用户
提问于 2015-12-30 07:24:23
回答 2查看 5.1K关注 0票数 6

是否可以在不降低采样率的情况下压缩wav音频文件?

我有一个256比特率和采样率-8000赫兹的音频文件。我只想把比特率降到128/64kbs

我尝试转换为mp3和回wav,ffmpeg -i input.wav 1.mp3 ffmpeg -i "1.mp3“-acodec pcm_s16le -ar 4000 out.wav,但这也降低了采样率。ffmpeg -i "1.mp3“-acodec pcm_s16le -ab 128 out.wav默认256比特率

EN

回答 2

Stack Overflow用户

发布于 2015-12-30 12:23:05

PCM (WAV)是未压缩的,因此忽略-b:a/-ab

WAV的比特率直接受采样率、信道布局和每采样比特数的影响。

计算PCM/WAV码率

假设每秒8000个样本,立体声通道布局,每个样本16比特:

代码语言:javascript
复制
sample rate × number of channels × bits per sample = bitrate
8000 × 2 × 16 = 256000 bits/s, or 256 kb/s

获取通道、采样率、位深度

您可以只查看ffmpeg -i input.wav的输出,或者使用ffprobe获得更简洁的输出:

代码语言:javascript
复制
$ ffprobe -loglevel error -select_streams a -show_entries stream=sample_rate,channels,bits_per_sample -of default=nw=1 input.wav 
sample_rate=8000
channels=2
bits_per_sample=16

更改比特率

使用WAV时,不应考虑比特率。如果比特率是个问题,那么WAV对你来说是错误的选择。也就是说,您可以通过更改以下内容来更改比特率:

位深度( number of channels (-ac)

  • The
  • )采样速率。对于PCM/WAV,位深度是编码器名称中列出的数字:-c:a pcm_s24le-c:a pcm_s16le-c:a pcm_u8等。请参阅ffmpeg -encoders.

128 kb/s的示例(这听起来可能很糟糕):

代码语言:javascript
复制
ffmpeg -i input.wav -ar 8000 -ac 1 -c:a pcm_s16le output.wav
ffmpeg -i input.wav -ar 8000 -ac 2 -c:a pcm_s8 output.wav

另一种选择是使用无损压缩格式。质量将与WAV相同,但文件大小可以小得多。FLAC示例:

代码语言:javascript
复制
$ ffmpeg -i audio.wav audio.flac
$ ls -alh audio.wav audio.flac
  6.1M audio.flac
   11M audio.wac
票数 5
EN

Stack Overflow用户

发布于 2015-12-30 07:34:32

我通常使用Audacity来完成此操作

1)将wav文件导入audacity

2)然后是File>Export

3)选择“常量”,然后从质量下拉列表中选择所需的比特率。

我还没有用ffmpeg尝试过,但是命令应该是:

代码语言:javascript
复制
ffmpeg -i input.wav -ab 64000 output.wav
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34520694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档