Facebookでffmpegを介してライブストリーミングを試みていますが、1つのエラーが発生します。エラーとして、mp3の代わりにAACを使用する必要があります。しかし、私はそれを行う方法がわかりません。
エラー:Bad audio codec 2 (MP3). Accepted audio codecs: AAC
通常、YouTubeでは以下のコマンドを正常に実行できます。
ffmpeg -i "rtmp://..." -deinterlace -vcodec libx264 -pix_fmt yuv420p -preset medium -r 30 -g 60 -b:v 2500k -acodec libmp3lame -ar 44100 -threads 6 -qscale 3 -b:a 712000 -bufsize 512k -f flv "rtmp://a.rtmp.youtube.com/live2/key"
しかし、Facebook rtmpを使用して以下のコマンドを実行すると、エラーが発生します。
ffmpeg -i "rtmp://..." -deinterlace -vcodec libx264 -pix_fmt yuv420p -preset medium -r 30 -g 60 -b:v 2500k -acodec libmp3lame -ar 44100 -threads 6 -qscale 3 -b:a 712000 -bufsize 512k -f flv "rtmp://rtmp-api.facebook.com:80/rtmp/key"
私はUbuntu14.04のユーザーです。
前もって感謝します。
Ffmpegコマンドには、次のものがあります。
-acodec libmp3lame
これは、オーディオストリームをMP3にエンコードしています。それを変更する必要があります。次のようなものを使用する必要があるかもしれません:
-acodec libfdk_aac
https://trac.ffmpeg.org/wiki/Encode/AAC
Facebookの「ライブビデオ仕様」を参照するには https://www.facebook.com/facebookmedia/get-started/live :
Live APIは、H264でエンコードされたビデオとAACでエンコードされたオーディオのみを受け入れます。
エンコーダー「aac」は実験的ですが、実験的コーデックは有効ではなく、acc add'-strict-2 'を追加します
したがって、libmp3lame
をaac -strict -2
に置き換えます