我正在尝试通过ffmpeg在Facebook上直播,但我收到一个错误。由于错误,我必须使用AAC而不是mp3。但我不知道该怎么做。
错误: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"
我是Ubuntu 14.04的用户。
提前致谢。
答案 0 :(得分:2)
在你的ffmpeg命令中,你有这个:
-acodec libmp3lame
这是将音频流编码为MP3。你需要改变它。您可能需要使用以下内容:
-acodec libfdk_aac
https://trac.ffmpeg.org/wiki/Encode/AAC
从https://www.facebook.com/facebookmedia/get-started/live参考Facebook的“实时视频规范”:
Live API接受H264编码视频和 AAC编码音频。
答案 1 :(得分:0)
编码器“ aac”是实验性的,但未启用实验性编解码器,要添加acc,请添加“ -strict -2”
因此将libmp3lame
替换为aac -strict -2