web-dev-qa-db-ja.com

avconvで変換するときにflac圧縮レベルを指定する方法は?

使用している別のデバイスでaacがサポートされていないため、いくつかのaacファイルをflacファイルに変換しようとしています。インターネットを検索して解決策を見つけようと何度か試みた後、最終的にffmpegがavconvに置き換えられ、avconvがffmpegのフォークであることを読みました。そこで、avconvを使用してflacに変換する方法を検索し、次の行を見つけました。

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

これはうまく機能しますが、そのコマンドにはflac圧縮レベルが表示されず、ターゲットデバイスのCPUリソースのために、圧縮レベルを2以下にする必要があります。 avconvのマンページをチェックしましたが、flac圧縮レベルについてはまったく言及していないようです。

だから私の質問は次のとおりです:avconvを使用して任意の入力形式からflacに変換するときにflac圧縮レベルを指定するにはどうすればよいですか?

5

-compression_level属性があります。マニュアルページの形式は次のとおりです。

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

ファイルにはストリームが1つしかないので、おそらくストリームを指定する必要はありません。そのため、-compression_level 2は友達です。

将来的には、ツールのマニュアルページを確認することをお勧めします。

  1. ターミナルを開きます。
  2. man (name of program)と入力します。たとえば、man avconv
  3. マニュアルを検索するには、「/」を押して、検索する文字列を入力します。この場合、「/ compression」を実行しましたが、これが2番目に見つかりました。
1
v010dya

オプションは-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にも表示されます:)。このmanページには次が表示されます。

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.

複数のmanページが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.

マニュアルページと同じですが、一部の人が見つけて読むのが少し簡単かもしれません!

参照:

10
andrew.46