使用avconv转换时如何指定flac压缩级别?

Zel*_*ahl 6 convert aac flac avconv

我正在尝试将一些 aac 文件转换为 flac 文件,因为我使用的其他设备不支持 aac。经过多次尝试寻找解决方案,在互联网上搜索,我终于看到ffmpeg被替换为avconv,并且avconv是ffmpeg的一个分支。所以我搜索了如何使用 avconv 转换为 flac 并找到了这一行:

avconv -i (input file) -f flac (output file path)
Run Code Online (Sandbox Code Playgroud)

这很有效,但是,由于目标设备上的 cpu 资源,我在该命令中没有看到任何 flac 压缩级别,我需要将压缩级别设为 2 或更低。我检查了 avconv 的手册页,但它似乎根本没有提到 flac 压缩级别。

所以我的问题是:如何使用 avconv 从任何输入格式转换为 flac 时指定 flac 压缩级别?

and*_*.46 11

该选项是-compression_level并且可以使用avconv或设置FFmpeg

ffmpeg -i input.wav -c:a flac -compression_level 12 output.flac
Run Code Online (Sandbox Code Playgroud)

有趣的是,命令行 flac 编码器提供 0-8 的压缩级别,但 FFmpeg / avconv 提供 0-12 的压缩级别。文档可以在 3 个地方看到:

1. 源代码:

flac 压缩的选项可以在flacenc.c

/* set compression option defaults based on avctx->compression_level */
if (avctx->compression_level < 0)         <-------------
    s->options.compression_level = 5;     <-------------
else
    s->options.compression_level = avctx->compression_level;

level = s->options.compression_level;
if (level > 12) {                         <-------------
    av_log(avctx, AV_LOG_ERROR, "invalid compression level: %d\n",
           s->options.compression_level);
    return AVERROR(EINVAL);
}
Run Code Online (Sandbox Code Playgroud)

我在相关部分有“箭头”!

2. 手册页:

压缩选项也可以在man ffmpeg-all而不是man ffmpeg:) 中看到。此手册页显示:

compression_level
Sets the compression level, which chooses defaults for many other options
if they are not set explicitly. Valid values are from 0 to 12, 5 is the default.
Run Code Online (Sandbox Code Playgroud)

现在可用于 FFmpeg 的多个手册页有点令人困惑!

3. 在线文档:

正如“Miso Soup”所指出的,还有一些在线文档可用于更深入的 flac 编码选项,包括压缩选项:

compression_level
Sets the compression level, which chooses defaults for many
other options if they are not set explicitly. Valid values
are from 0 to 12, 5 is the default.
Run Code Online (Sandbox Code Playgroud)

与手册页相同,但对于某些人来说可能更容易查找和阅读!

参考:


v01*_*dya 3

有一个-compression_level属性。手册页给出的格式为

-compression_level[:stream_specifier] integer (output,audio,video)
Run Code Online (Sandbox Code Playgroud)

您可能不需要指定流,因为文件中只有一个流,您-compression_level 2的朋友也是如此。

将来您可能需要查看这些工具的手册页。

  1. 打开终端。
  2. 类型man (name of program)。例如man avconv
  3. 要搜索手册,请按“/”并输入要搜索的字符串。在本例中,我完成了“/压缩”,这是发现的第二件事。