Как указать уровень сжатия flac при конвертации с помощью avconv?

Я пытаюсь преобразовать некоторые файлы aac в flac-файлы, потому что aac не поддерживается другим устройством, которое я использую. После нескольких попыток поиска решения, поиска в Интернете, я, наконец, прочитал, что ffmpeg был заменен на avconv и что avconv является fork из ffmpeg. Итак, я искал, как преобразовать в flac с помощью avconv и нашел эту строку:

avconv -i (input file) -f flac (output file path)

Это хорошо работает, однако я не вижу никакого уровня компрессии flac в этой команде, и мне нужно иметь уровень сжатия 2 или ниже, из-за ресурсов процессора на целевом устройстве. Я проверил man-страницу для avconv, но, похоже, он вообще не упоминает уровни сжатия flac.

Итак, мой вопрос: как указать уровень сжатия flac при преобразовании из любого входного формата в flac с использованием avconv?

1
задан 2 November 2014 в 22:42

1 ответ

Опция -compression_level и может быть установлена ​​с помощью avconv или FFmpeg:

ffmpeg -i input.wav -c:a flac -compression_level 12 output.flac

. Интересно, что флагманский кодер командной строки предлагает уровни сжатия 0-8, но FFmpeg / avconv предлагает 0-12. Документацию можно увидеть в трех местах:

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);
}

У меня есть «стрелка» в соответствующих разделах!

1. Исходный код:

Параметры сжатия также видны в 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.

Немного сбивает с толку несколько справочных страниц, доступных теперь для 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.

То же, что и но, возможно, немного легче для некоторых, чтобы найти и прочитать!

3. Онлайн-документация:

FFmpeg git: flacenc.c Документация FFmpeg-кодеков: flac
9
ответ дан 24 May 2018 в 02:15
  • 1
    Человек, эта страница человека длинная! Легче найти информацию об уровне сжатия здесь! ffmpeg.org/ffmpeg-codecs.html – Ahi Tuna 15 October 2017 в 00:07
  • 2
    @MisoSoup Хорошая мысль, я добавил эти данные в ответ, а также реорганизовал ... – andrew.46 15 October 2017 в 00:32

Другие вопросы по тегам:

Похожие вопросы: