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

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

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

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

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

5
задан 2 November 2014 в 11:42

2 ответа

Существует -compression_level атрибут. Страница справочника дает свой формат как

-compression_level[:stream_specifier] integer (output,audio,video)

, Вы не должны будете, вероятно, определять поток, так как у Вас есть только единственный в файле, таким образом -compression_level 2 Ваш друг.

В будущем можно хотеть проверить страницу справочника на инструменты.

  1. Открывают терминал.
  2. Тип man (name of program). Например man avconv.
  3. Для поиска руководства нажмите '/' и введите строку для поиска. В этом случае я сделал '/compression', это было второй вещью, которая была найдена.
1
ответ дан 23 November 2019 в 08:49

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

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

Интересно достаточно командная строка 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);
}

я имею 'отмеченный стрелками' в соответствующих разделах!

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.

Немного сбивающий с толку с несколькими страницами справочника, теперь доступными для FFmpeg!

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

Как 'Суп мисо, на который' указывают там, также некоторая документация, доступная онлайн для более глубоких опций кодирования 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.

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

Ссылки:

10
ответ дан 23 November 2019 в 08:49

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

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