入力オーディオファイルを可能な限り小さいサイズに変換して、無線送信機で転送する必要があります。
現在、AACコーデックとMP3形式では、ビットレートに8kbps、サンプリングレートに16 kHz、1チャネルを使用しました。出力データは約3kb /秒です。
しかし、サンプルレートを8 kHz以下のビットレートに変更すると、コーデックがこの設定をサポートしていないというエラーが表示されます。
出力ファイルのレートを下げる設定はありますか?
追伸:私はAndroidで作業しているため、コーデックをインストールするのは難しいので、ffmpegのデフォルトコーデックを使用する必要があります。
更新:
私はopusコマンドラインを使用しました。これが私のコマンドです。
ffmpeg -i a.mp3 -vn -c:a libopus -ac 1 -ar 8000 -b:a 500 -vbr constrained -compression_level 0 -application lowdelay output22.mkv
結果は
Input #0, mp3, from 'a.mp3':
Metadata:
title : Salam (myahangha.ir)
artist : Sogand
album : Javooni
comment : ..:: myahangha.ir ::..
genre : 2019
date : 2019
Duration: 00:03:15.24, start: 0.000000, bitrate: 324 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 500x500 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
Metadata:
title : Radio Javan - Javooni.jpg
comment : Other
Stream mapping:
Stream #0:0 -> #0:0 (mp3 (mp3float) -> opus (libopus))
Press [q] to stop, [?] for help
[libopus @ 0000028b84d9e200] Bitrate 500 is extremely low, maybe you mean 500k
The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s
Output #0, matroska, to 'output24.mkv':
Metadata:
title : Salam (myahangha.ir)
artist : Sogand
album : Javooni
comment : ..:: myahangha.ir ::..
genre : 2019
date : 2019
encoder : Lavf58.27.102
Stream #0:0: Audio: opus (libopus) ([255][255][255][255] / 0xFFFFFFFF), 8000 Hz, mono, flt, 0 kb/s
Metadata:
encoder : Lavc58.51.100 libopus
size= 116kB time=00:03:15.25 bitrate= 4.9kbits/s speed= 396x
video:0kB audio:57kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 103.282921%
opusは4.9kbpsより低いビットレートを受け入れないようです:(
AACまたはMP3は、超低帯域幅の伝送に最適なコーデックではありません。より効率の高い適切な音声コーデックを使用します。
Opusが最良のオプションです。 FFmpegでは libopus
から利用できます。実際、Opusはスピーチのためだけに作られているわけではありません。 両方の音声と音楽のハイブリッドエンコーディングを提供します。
例:
ffmpeg -i <input> -c:a libopus -ac 1 -ar 16000 -b:a 8K -vbr constrained out.opus
ここに、 -ac
出力をモノラルに設定します。-ar
サンプリングレートを16kHzに設定し、-b:a
ビットレートを8kBit/sに設定します。ここでは、制約付き可変ビットレートモードが使用されます。原則として、ffmpeg
を使用してモノラルにダウンサンプリングおよびダウンミックスする必要はありません。これは、指定されたビットレートターゲットに到達するためにlibopus
が独自に行うことです。
さらにいくつかの推奨事項が示されています ここ 。 Opusでは、6〜8 kBit/sが(モノラル、低サンプルレート)スピーチに使用できる範囲ですが、音楽には使用できないことに注意してください。
Opus Webサイト で、さまざまなコーデックとそのビットレート/品質曲線の興味深い比較を見つけることができます。
この数字は単なる目安であることを付け加えておきます。さまざまなテスト結果と事例知識から編集されています。