Я пытаюсь преобразовать некоторые 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?
Существует -compression_level
атрибут. Страница справочника дает свой формат как
-compression_level[:stream_specifier] integer (output,audio,video)
, Вы не должны будете, вероятно, определять поток, так как у Вас есть только единственный в файле, таким образом -compression_level 2
Ваш друг.
В будущем можно хотеть проверить страницу справочника на инструменты.
man (name of program)
. Например man avconv
. Опция -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.
То же как страницы справочника, но возможно немного легче для некоторых, чтобы найти и читать!
Ссылки: