如何通过ffmpeg在facebook上直播?

时间:2016-08-17 10:59:12

标签: facebook ffmpeg ubuntu-14.04 rtmp live-streaming

我正在尝试通过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的用户。

提前致谢。

2 个答案:

答案 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