教程 · Wowza Streaming Engine 推流至 Facebook

Wowza Facebook 直播教程 附可用的 RTMPS 推流目标

本 Wowza Facebook 直播教程通过两种方式之一,将你的直播流从 Wowza Streaming Engine 推送到 Facebook:使用内置的 Facebook Live 推流目标(会登录你的账户),或使用一个通过 RTMPS 携带 Facebook 推流密钥的通用 RTMP 目标。

Facebook 仅通过 RTMPS 接收直播视频,因此仍指向 1935 端口上普通 RTMP 的目标永远无法连接。以下两种方法都以安全方式发送。

通用 rtmp · facebook
Destination Host live-api-s.facebook.comDestination Port 443Application Name rtmpStream Name FB-STREAM-KEYCustom property sendSSL = true

将推流名称替换为 Facebook 提供给你的密钥。步骤 03 会逐一讲解每个字段。

01

添加 Wowza 推流目标之前

先检查四件事。大多数失败的 Facebook 直播都可追溯到其中一项,而非 Wowza。

Wowza 版本
Facebook Live 目标需要 Wowza Streaming Engine 4.5 或更高版本。当前版本为 4.11.3,发布于 2026 年 8 月,运行于 Java 17 或 21。
直播源
你的编码器正在向一个直播应用发布,例如 live。打开该应用,然后打开 Incoming Streams,记下确切的推流名称。
Facebook 账户
Facebook 要求账户至少已注册 60 天,且拥有至少 100 名关注者的主页或专业主页,才允许通过推流软件进行直播。
出站 443 端口
服务器必须能通过 TCP 443 端口访问 live-api-s.facebook.com。只允许 1935 出站的防火墙会阻断直播流。

Wowza 会原样转发编码器发送的视频。现在就将编码器设置为 H.264 视频、AAC 音频以及每 2 秒一个关键帧,Facebook 就能一次通过。步骤 04 有完整设置。

02

方法 1:Facebook Live 推流目标

最快的方式。Wowza 会替你登录 Facebook,创建直播帖,并自行通过 RTMPS 发送视频。用它发布到你自己的时间线或你管理的主页。

  1. 在 Wowza Streaming Engine Manager 中,打开 Applications 并选择你的直播应用。
  2. 点击 Stream Targets。如果页面显示推流目标已关闭,点击 Enable Stream Targets,并在 Wowza 提示时重启应用。你的编码器会自动重新连接。
  3. 点击 Add Stream Target,选择 Facebook Live,然后点击 Next。
  4. 填写 Stream Target Name(不含 / : * ? 或 | 等符号)、Source Stream Name(来自 Incoming Streams 的名称),以及观众将在帖子上看到的 Title 和 Description。
  5. 点击 Login,登录 Facebook 并授权访问。Facebook 会询问谁可以查看来自 Wowza 的帖子:选择你希望的最公开受众,因为帖子的公开程度永远不会超过此设置。
  6. 选择 Video Destination:我的时间线,或你管理的某个主页。对于时间线,还需设置谁可以查看该帖子。
  7. 点击 Add this target。发送时目标会显示 Active,几秒后帖子就会出现在 Facebook 上。
Wowza Streaming Engine Manager 的 Add Stream Target 界面,目标列表中已选中 Facebook Live
Stream Targets 中的目标列表。Facebook Live 位于第一行;方法 2 使用的 Generic RTMP 在最后一行。
03

方法 2:使用推流密钥的 Wowza RTMPS 推流目标

当你更愿意在 Facebook 中设置标题、时间和受众,或登录方法无法授权时,请使用此方法。Facebook 会给你一个推流密钥,Wowza 只负责传送视频。

从 Facebook 获取推流密钥

  1. 在 Facebook 上,打开 Live Producer,选择使用推流软件进行直播。
  2. 复制 stream key。像对待密码一样对待它:任何拥有它的人都可以在你的账户上直播。
  3. 保持页面打开。视频到达后,你从这里开始直播。

在 Wowza 中添加通用 RTMP 目标

  1. 在你的应用中,点击 Stream Targets,然后点击 Add Stream Target。
  2. 选择 Generic RTMP 并点击 Next。
  3. 按下表填写字段,然后保存目标。
Stream Target Name
任何你能识别的名称,例如 facebook。
Source Stream Name
来自 Incoming Streams 的推流名称。
Destination Host
live-api-s.facebook.com,前面不加 rtmps://。
Destination Port
443,而不是 RTMP 默认的 1935。
Destination Application
rtmp
Destination Stream Name
你的 Facebook 推流密钥。
User Name, Password
两者都留空。密钥是 Facebook 使用的唯一凭证。

用 sendSSL 开启 RTMPS

通用 RTMP 目标默认发送普通 RTMP,除非你另行设置。打开目标,进入其自定义属性,添加值为 true 的 sendSSL。Wowza 文档还提供了第二种方式:在应用映射文件中该目标所在行添加 "sendSSL":"true"。

conf/live/PushPublishMap.txt
livestream={"entryName":"facebook", "profile":"rtmp", "host":"live-api-s.facebook.com", "port":"443", "application":"rtmp", "streamName":"FB-STREAM-KEY", "sendSSL":"true"}

每个目标一行:你的源推流名称、一个等号,然后是目标的设置。Wowza Manager 会写入此文件,其第一行要求你不要手动编辑,因此尽可能在 Manager 中进行更改。

当目标显示 Active 时,Live Producer 会显示视频预览。在那里检查画面和声音,然后在 Facebook 上点击 Go live。

04

Facebook Live 接受的编码器设置

这些是 Meta 目前针对直播视频的数据。Facebook 现在支持最高 1080p、每秒 60 帧,直播时长最长可达 8 小时,因此旧版 Wowza 指南(包括本页面的第一版)中的 720p 和 4 小时限制已不再适用。

Facebook 为每种分辨率和帧率推荐的视频比特率
分辨率帧率视频比特率
1920 × 108060 fps4,500 to 9,000 kbps
1920 × 108030 fps3,000 to 6,000 kbps
1280 × 72060 fps2,250 to 6,000 kbps
1280 × 72030 fps1,500 to 4,000 kbps
854 × 48030 fps600 to 2,000 kbps
640 × 36030 fps400 to 1,000 kbps
视频编解码器
H.264。Level 4.1 支持最高 1080p、30 fps,Level 4.2 支持 1080p、60 fps。
关键帧
每 2 秒一个。Meta 将 4 秒设为上限。
音频
AAC-LC,立体声,44.1 或 48 kHz,128 kbps(最高 256 kbps)。Meta 要求每个流都包含音频和视频,因此如果没有声音,请发送一条静音轨。
协议
RTMPS,使用 443 端口。
时长
最长 8 小时。当内置目标达到该时长时,Facebook 会结束该帖子,Wowza 会使用相同设置开始一个新的帖子。

流目标会原样传递编码器的关键帧。如果 Facebook 对关键帧间隔发出警告,请在编码器中修复,或向目标发送来自 Wowza Transcoder 的转码输出,并将关键帧间隔设置为帧率的两倍。

05

停止直播并修复常见错误

要结束直播,请打开流目标并点击禁用此流目标,或停止编码器。该目标会保留下来,供下次使用。

Facebook 流目标问题的含义及解决方法
你看到的现象原因解决方法
目标一直等待,从未变为“活动”状态源流名称与编码器发布的名称不匹配。从“传入流”中复制名称到目标,包括大小写。
连接失败或不断重试使用了普通 RTMP、1935 端口,或防火墙阻止了 443 端口出站。将端口设为 443,并将 sendSSL 设为 true,同时允许服务器出站 TCP 443。
Facebook 提示流密钥无效来自 Live Producer 的密钥可能在直播结束后过期。复制一个新密钥,粘贴到“目标流名称”中。
Facebook 登录失效内置目标的授权已过期,或在 Facebook 上被移除。删除该目标并重新添加,然后再次登录 Facebook。
Facebook 对关键帧间隔发出警告编码器发送关键帧的频率低于每 4 秒一次。将编码器设置为每 2 秒一个关键帧。
06

使用 Primcast 在 Facebook 上直播

只有当 Wowza 运行在你自己的服务器上时,才需要使用 Wowza Manager。请选择适合你配置的选项。

Primcast 视频直播套餐

无需配置流目标。在你的账户中,打开直播卡片,进入Restream,点击添加目标,选择Facebook并粘贴你的流密钥。该面板已使用 Facebook 在 443 端口上的 RTMPS 地址。你的第一个目标会重启一次频道,编码器会在几秒内重新连接。

同一张卡片可同时将一路流发送到 YouTube、Facebook、Twitch 或任意 RTMP 服务器,最多支持五个目标。

查看视频直播套餐

在你自己的独立服务器上运行 Wowza

租用整台机器并在其上运行 Wowza Streaming Engine,本教程中的所有流目标都由你掌控。我们可根据要求为你安装和管理 Wowza。Wowza 许可证与机器分开计费,绝不会计入机器价格。

查看 Wowza 独立服务器

07

Wowza 与 Facebook Live 常见问题

Wowza Streaming Engine 中的流目标是什么?

流目标是 Wowza 将您的输入流推送到的目的地,例如 Facebook、YouTube 或其他 RTMP 服务器。您可以在“流目标”下为每个应用添加目标,每个目标在其源流上线后立即开始发送。

如何设置 Wowza RTMPS 流目标?

添加一个通用 RTMP 目标,输入目标主机和端口 443,然后添加自定义属性 sendSSL 并将其值设为 true。如果没有 sendSSL,目标会发送普通 RTMP,而 Facebook 不接受这种协议。

Wowza 能否同时将一个流发送到 Facebook 和 YouTube?

可以。在同一个源流上为每个目的地添加一个流目标,Wowza 就会向每个目的地发送一份副本。Wowza 建议单个 Facebook 账户最多设置 10 个目标。每个副本都会从服务器使用自己的上传通道,因此在规划端口容量时要把每个目的地都计算在内。

从 Wowza 向 Facebook Live 推流可以使用什么分辨率?

根据 Meta 的直播视频规范,最高可达 1080p、60 帧每秒,码率为 4,500 至 9,000 kbps。Wowza 发送的是编码器生成的画面,因此请在编码器中或 Wowza Transcoder 的转码输出中设置分辨率和码率。

我可以向 Facebook 小组或活动直播吗?

内置的 Facebook Live 目标提供您的时间线以及您管理的主页。对于 Facebook 允许您开播的其他任何位置,请在 Live Producer 中创建直播视频,并使用它提供的方法 2 和串流密钥进行发送。

我需要哪个版本的 Wowza Streaming Engine?

4.5 或更高版本带有 Facebook Live 目标,而任何带有通用 RTMP 目标的版本都可以通过 sendSSL 发送 RTMPS。当前版本为 4.11.3,发布于 2026 年 8 月。

使用 Primcast 向 Facebook 直播时,我需要 Wowza 吗?

不需要。在 Primcast 视频流套餐中,直播卡片里的“转推”部分只需串流密钥即可将您的流发送到 Facebook。只有当 Wowza 运行在您自己的专用服务器上时,才需要使用 Wowza Manager。

想不运行 Wowza 就使用 Facebook Live 吗?

您的 Primcast 视频频道可以直接从面板转推到 Facebook:粘贴串流密钥即可开播。如果目标无法连接,我们的聊天支持会在几秒内回复,并可以检查您的账户和直播流,只要您提出要求,就会有专人介入处理。

获取视频流频道