【问题标题】:How to live stream on facebook via ffmpeg?如何通过 ffmpeg 在 facebook 上直播?
【发布时间】:2016-12-24 00:00:02
【问题描述】:

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

提前致谢。

【问题讨论】:

  • libmp3lame 替换为aac,对于-b:a,您可能需要128k 的值。
  • 错误信息是什么?
  • ffmpeg -re -i .rtmp://... -acodec libmp3lame -ar 44100 -b:a 128k -pix_fmt yuv420p -profile:v 基线 -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"

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


【解决方案1】:

在你的 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 编码的音频

【讨论】:

  • 大多数用户无权访问libfdk_aac(许可证使分发存在问题,因此必须编译ffmpeg),因此可以使用aac
  • 如何在 ubuntu 上安装它?
【解决方案2】:

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

所以用aac -strict -2替换libmp3lame

【讨论】:

    猜你喜欢
    • 2013-10-09
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 2015-05-12
    • 2017-05-27
    • 2017-11-13
    相关资源
    最近更新 更多