如何通过ffmpeg在Facebook上进行直播?

7
我正在尝试通过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的用户。
谢谢您提前的帮助。

3
请将 libmp3lame 替换为 aac,对于 -b:a,您可能需要设置为 128k - Gyan
什么是错误信息? - rogerdpack
1
ffmpeg -re -i .rtmp://... -acodec libmp3lame -ar 44100 -b:a 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" - Hany Alsamman
2个回答

2
在您的ffmpeg命令中,您有这样的内容:
-acodec libmp3lame

这是将音频流编码为MP3格式。你需要进行更改。你可能需要使用类似下面的内容:

-acodec libfdk_aac
https://trac.ffmpeg.org/wiki/Encode/AAC链接是关于AAC编码的文档。 引用Facebook的“Live Video Specs”(https://www.facebook.com/facebookmedia/get-started/live): Live API仅接受H264编码的视频和AAC编码的音频。请注意,HTML标签将保留不变。

大多数用户无法访问libfdk_aac(由于许可证使分发变得困难,因此必须编译ffmpeg),因此可以使用aac代替。 - llogan
我该如何在Ubuntu上安装这个? - chovy

0

编码器'aac'是实验性的,但实验性编解码器未启用,要添加acc,请添加'-strict -2'

因此,请将libmp3lame替换为aac -strict -2


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接