如何通过ffmpeg在Facebook上直播?

K. *_*lha 5 facebook ffmpeg rtmp live-streaming ubuntu-14.04

我正在尝试通过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

在你的 ffmpeg 命令中,你有这样的:

-acodec libmp3lame
Run Code Online (Sandbox Code Playgroud)

这是将音频流编码为 MP3。你需要改变这一点。你可能需要使用这样的东西:

-acodec libfdk_aac
Run Code Online (Sandbox Code Playgroud)

https://trac.ffmpeg.org/wiki/Encode/AAC

要参考 Facebook 的“实时视频规范”,请访问 https://www.facebook.com/facebookmedia/get-started/live

Live API仅接受 H264 编码的视频和 AAC 编码的音频