FFmpeg 中的哪些音频编码器支持 8 kHz?

Cam*_*une 10 ffmpeg audio-conversion

我有一个旧视频(由 Casio Exilim EX-Z40 制作,如果重要的话),其音频流ffprobe报告为pcm_u8, 8000 Hz, mono, u8.

我想把它转码成现代的东西。

使用 FFmpeg 默认值转码失败:

libfaac 不支持这种输出格式!

所以大概 libfaac 不支持 8 kHz,因为-c:a copy有效。

哪些编码器支持 8 kHz 采样率?这里列表几乎没有提到采样率。

我可以编写脚本来尝试每个已安装的编解码器,从...

ffmpeg -codecs | grep EA`
Run Code Online (Sandbox Code Playgroud)

...直接查看哪些有效?

llo*_*gan 9

原生 FFmpeg AAC 编码器 ( -c:a aac) 支持 8000 Hz 采样率:

ffmpeg -h encoder=aac
...
Supported sample rates: 96000 88200 64000 48000 44100 32000 24000 22050 16000 12000 11025 8000 7350
Run Code Online (Sandbox Code Playgroud)

它将自动选择与输入最匹配的采样率,因此您无需声明-ar

ffmpeg -i input.mov -c:a aac output.m4a
Run Code Online (Sandbox Code Playgroud)

FFmpeg 中的哪些音频编码器支持 8 kHz?

aac、aptx、aptx_hd、dca、flac、g723_1、libfdk_aac、libmp3lame、libopus、libspeex、libvorbis、real_144、wavpack、许多 pcm 变体。

可能还有其他的,但报告supported_samplerates不一致。

我想把它转码成现代的东西。

libfaac 已从 FFmpeg 中删除多年,并且不被认为是现代 AAC 编码器。你ffmpeg一定是古人。更新并使用本机 FFmpeg AAC 编码器,或编译并使用libfdk_aac.

如果你想要最现代的使用libopus

但是当我尝试 [aac] 时,与原始文件相比,文件大小增加了并且一些高频被衰减了。

由于我怀疑您的ffmpeg年龄很大,因此您可能错过了编码器的主要质量更新aac。升级和质量可能会提高。

  • FFMpeg 的 AAC 压缩器支持 8KHz,但很多播放器不支持。因此,通过创建 8KHz AAC,您可能会面临无法在许多设备上播放的风险。 (5认同)

Eug*_*eck 5

采样率和编解码器是不同的参数。很可能你想要一些类似的东西

-ar 48000 -c:a aac
Run Code Online (Sandbox Code Playgroud)

从 8KHz 上采样到 48KHz 并压缩到 AAC

  • 没有任何现代压缩器针对 8KHz 采样率进行了优化,因此现代的所有东西都无法使用 8KHz 音频。根据您想要的输出容器格式,您可能会或可能不会在不同的编解码器之间进行选择。请附加您的 OQ 或评论,然后我可以帮助您找到最好的版本。 (3认同)