2016-08-17 126 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