阿里云 Web RTS 推流 + 播放预览

左:本地预览(推流源)|右:拉流预览。页面需通过 HTTPSlocalhost 打开,屏幕共享才可用。

Web 端 RTS 推流必须在「推流域名」上配跨域(与播流域名分开配置)。SDK 会向推流域名发 HTTPS 信令请求;若未返回 CORS 头,控制台会出现 blocked by CORS policy,并伴随错误码 10205 Network Error;信令失败后屏幕共享常被回收,出现 10012 Screenshare is terminated
当前页面 Origin(请加到推流域名的 HTTP 响应头):
  1. 视频直播控制台 → 推流域名(例如 RTMP 里的 push.example.com)→ 域名配置HTTP 头配置(或「直播管理」下同类入口)。
  2. 新增响应头 Access-Control-Allow-Origin,取值填上方 Origin,或调试期填 *(阿里云部分场景仅支持单域名或 *,以控制台说明为准)。
  3. 若预检失败,可再增加 Access-Control-Allow-MethodsGET,POST,OPTIONS,以及 Access-Control-Allow-Headers* 或按需填写。
  4. 配置生效后等待 CDN 配置传播(数分钟),再刷新本页重试。

官方说明:配置 HTTP 消息头 · 若仍出现 404,请确认该推流域名已开通超低延时 / Web RTS 推流能力,且地址为控制台生成的 RTS 推流地址。

常见误区:
(1)控制台里写的 rtmp:// 是给 OBS/FFmpeg 等用的;浏览器里 Web RTS SDK 会访问 https://推流域名/... 做信令,因此推流域名既要能走 HTTPS(见下方「HTTPS 配置」),更要在同一域名上配跨域响应头,与「要不要给 RTMP 开 HTTPS」不是一回事。
(2)关闭 URL 鉴权不能解决 CORS。你当前报错是响应里缺少 Access-Control-Allow-Origin,和鉴权开关无关;鉴权错误一般是 403 等,而不是「No CORS header」。
(3)在控制台打开 push.xiangxueai.com直播管理 → 找 HTTP 头配置 / 自定义 HTTP 响应头(名称以控制台为准),添加上述 CORS 头;若只有「HTTPS 配置」没有响应头入口,可在该域名的 高级配置 或阿里云文档中查「推流域名 配置 HTTP 消息头」的准确菜单位置。

地址与采集(从控制台复制 RTMP / FLV / M3U8)

播流域名推流域名各自都要按需配置 跨域 HTTP 头(本页在 pushdemo 而推流在 push 时,必须在 push 推流域名上允许 pushdemo 的 Origin)。 推流/播流域名建议配置 HTTPS 证书auth_key 过期后请重新生成地址并粘贴。

左侧 · 推流本地预览

右侧 · 直播拉流预览