2016-08-17 99 views
3

我试图通过ffmpeg在Facebook上直播,但我得到一个错误。由于错误,我必须使用AAC而不是mp3。但我不知道该怎么做。如何通过ffmpeg在Facebook上直播?

错误: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的用户。

在此先感谢。

+3

替换'和'aac'和'libmp3lame' - b:你可能想要128k的值。 – Mulvya

+0

错误信息是什么? – rogerdpack

+1

ffmpeg -re -i .rtmp:// ... -acodec libmp3lame -ar 44100 -b:128k -pix_fmt yuv420p -profile:v baseline -s 426x240 -bufsize 6000k -vb 400k -maxrate 1500k -deinterlace -vcodec libx264 -preset veryfast -g 30 -r 30 -f flv“rtmp://rtmp-api.facebook.com:80/rtmp/111111111111111?ds = 1&a = XXXXXXXXXXXXXXXXX” –

回答

2

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

-acodec libmp3lame 

这是编码音频流成MP3。你需要改变它。您可能需要使用这样的事情:

-acodec libfdk_aac 

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

https://www.facebook.com/facebookmedia/get-started/live引用Facebook的 “实况视频规格”:

The Live API accepts H264 encoded video and AAC encoded audio only.

+0

大多数用户不能访问'libfdk_aac'(许可证使分发有问题,所以必须编译ffmpeg),所以可以使用'aac'。 – LordNeckbeard