阿里云视频直播服务对接配置完全指南:从开通域名到API集成

简介: 本文提供了一份完整的阿里云视频直播服务对接配置指南。首先需要开通视频直播服务并完成账号实名认证,然后分别添加推流域名和播流域名,两者不能为同一域名但可以是同一主域名下的不同子域名。添加域名后必须配置CNAME解析,将自定义域名指向阿里云分配的CNAME地址以实现直播加速。之后需要关联推流域名和播流域名,确保推流与播放的路由正确。直播地址由协议、域名、AppName、StreamName和鉴权串组成,可通过控制台生成器或代码拼接方式获取。推流可使用OBS等第三方软件,播放可使用VLC等播放器。转码配置支持预置模板和自定义模板,可实现多码率自适应。录制功能可将直播流录制为点播视频存储到OSS或VO

1. 视频直播服务开通与前置准备

在使用阿里云视频直播服务之前,需要完成账号注册、实名认证和服务开通等前置工作。如果您还没有阿里云账号,需要先访问阿里云官网完成账号注册。账号注册完成后,还需要完成实名认证,这是使用阿里云所有云服务的基础前提。

账号准备就绪后,登录阿里云视频直播平台,单击立即购买进入开通页面。在视频直播购买页中,选择计费方式。视频直播支持按量计费和资源包两种计费方式。对于初次体验和测试场景,推荐选择按使用流量计费。测试过程中产生的流量不超过10GB时,预估费用最高为0.42USD。阅读并同意产品服务协议和服务等级协议后,单击立即开通即可完成服务开通。

需要先登录阿里云控制台,点击:阿里云控制台

开通服务后,视频直播控制台即可正常使用。需要注意的是,在使用本服务之前需要确认账号存在一定的余额,避免因欠费导致服务中断。另外,如果您需要使用实时音视频功能(如直播连麦),还需要在直播+实时音视频模块下创建应用,获取AppId和AppKey等开发参数。实时音视频应用在创建时不会产生费用,实际费用按照具体云上用量计费。

2. 推流域名与播流域名的添加

视频直播功能是基于域名实现的,添加推流域名和播流域名是配置直播服务的第一步。推流域名用于主播推送直播流,播流域名用于观众拉取直播流进行播放。推流域名与播流域名不能是同一个域名,但可以是同一主域名下的两个不同子域名。例如,如果您有一个主域名为test.com,可以通过解析配置成push.test.com和play.test.com两个子域名,分别作为推流域名和播流域名使用。

如果您还没有可用域名,可以在阿里云域名服务平台上注册。域名注册完成后,需要根据实际使用情况进行ICP备案。如果推流域名和播流域名是同一个一级域名下的两个二级域名,则只需要将一级域名进行备案。如果是快速体验场景,可以选择直播中心为海外且加速区域采用海外及港澳台加速,此时域名无需备案。

添加域名的具体操作步骤如下:在视频直播控制台左侧导航栏点击推/播流域名管理,进入域名管理页面。单击添加域名按钮。在添加域名对话框中,业务类型选择推流域名或播流域名。推流域名与播流域名分别对应推流加速与播流加速,初次配置后不可更改。加速域名一般使用子域名,例如demo.aliyundoc.com。直播服务暂不支持添加泛域名,例如*.aliyundoc.com。加速域名不允许重复添加,如果出现域名已添加的提示,需要检查域名是否已添加到其他云产品中。

开通视频直播服务后,每个账户最多可添加20个域名。如果域名的总带宽日均峰值大于50 Mbps且业务无风险,可以提交工单申请增加域名个数。首次将新域名添加至阿里云视频直播时,需要完成验证域名的归属权。添加完成后,域名列表中会显示该域名及其对应的CNAME值。

3. CNAME解析配置

添加推流域名和播流域名后,需要配置CNAME解析才能启用视频直播加速服务。CNAME解析的作用是将自定义的加速域名指向阿里云视频直播分配的CNAME地址,这样访问加速域名的请求才能转发到视频直播节点上,达到加速效果。推流域名和播流域名都需要分别进行CNAME解析。

获取CNAME值的操作方法如下:在视频直播控制台左侧导航栏选择推/播流域名管理,进入域名管理页面。选择所需的播流域名或推流域名,复制域名对应的CNAME值。如果CNAME状态栏中有感叹号提示,说明还未配置CNAME信息。

如果DNS服务商是阿里云(原万网),配置CNAME记录的步骤如下:在左侧导航栏选择公网权威解析,进入域名解析页面。单击待设置域名操作列的解析设置。单击添加记录,配置信息如下:记录类型选择CNAME;主机记录输入域名的前缀,例如要解析demo.aliyundoc.com则输入demo;解析请求来源选择默认值;记录值输入从直播控制台复制的CNAME值;TTL选择默认值。单击确认完成CNAME配置。

如果DNS服务商是腾讯云(原DNSPod),配置方法类似:单击待设置域名后面的解析;单击添加记录;主机记录输入域名的前缀;记录类型选择CNAME;线路类型选择默认值;记录值输入CNAME值;TTL选择默认值;单击保存完成配置。

CNAME配置完成后,需要验证是否生效。验证方法有两种:方法一,执行dig CNAME 域名命令,如果返回的解析结果和视频直播控制台上该域名的CNAME值一致,表示配置已生效。方法二,进入域名管理页面,如果对应域名的CNAME状态显示已配置,表示CNAME配置已生效。新增CNAME解析实时生效,修改CNAME解析最多需要72小时生效。如果添加CNAME解析时提示冲突,可以更换域名或调整记录。

4. 推流域名与播流域名的关联

完成CNAME解析配置后,还需要将推流域名和播流域名进行关联。关联操作的目的是建立推流与播流之间的路由关系,确保推流到推流域名的直播流能够通过播流域名正常播放。

关联操作的具体步骤如下:在视频直播控制台左侧导航栏点击推/播流域名管理,进入域名管理页面。在域名管理页面中找到目标播流域名,单击其操作列的域名配置。在基本配置中单击推流信息页签。单击未配置或添加推流信息按钮。在弹出的对话框中选择需要关联的推流域名,完成关联配置。

需要注意的是,一个推流域名只能配置一个主播流域名。需要关联的直播推流域名与播流域名的直播中心所在地域要保持一致,初次配置后不可更改。关联完成后,播流域名就可以正常播放来自关联推流域名的直播流了。

5. 直播地址的生成

发起一场直播需要生成一个推流地址用于主播推流,和一个播流地址用于分发给观众进行播放。直播地址由协议、推流/播流域名、AppName、StreamName和鉴权串组成。协议指直播采用的播放协议,如RTMP、HLS、FLV等;推流/播流域名是已添加的域名;AppName是直播的应用名称,由用户自定义,用于区分不同的直播应用或业务场景;StreamName是直播的流名称,由用户自定义,用于作为直播流的唯一标识;鉴权串是基于推/播流域名配置的鉴权Key通过MD5算法生成的加密字符串。

直播地址可以通过两种方式生成:控制台生成和代码拼接生成。控制台生成适用于初次体验和测试场景,一键生成,地址会自动附带加密的鉴权串。代码拼接生成适用于生产环境,在服务端实现地址生成的自动化。

使用控制台生成直播地址的步骤如下:登录视频直播控制台;在左侧导航栏选择直播地址生成器;选择播流域名;选择鉴权方式和有效时长;系统会自动加载出播流域名关联的推流域名;输入AppName;输入StreamName;如果需要转码,选择已配置的转码模板,不选则默认为原画;点击开始生成即可获取推流地址和播放地址。

代码拼接生成直播地址需要先拼接URI,再拼接鉴权串。URI的拼接规则为:协议://直播域名/AppName/StreamName。以下是伪代码示例:

protocol = "rtmp"
domain = "example.aliyundoc.com"
appName = "liveApp"
streamName = "liveStream"
uri = protocol + "://" + domain + "/" + appName + "/" + streamName
// 结果: rtmp://example.aliyundoc.com/liveApp/liveStream

获取鉴权Key用于生成鉴权串。鉴权Key可以通过控制台URL鉴权配置获取。推流地址使用推流域名的鉴权Key,播放地址使用播流域名的鉴权Key。鉴权算法详见推/播流地址鉴权文档。开启鉴权后,推流和播流地址均需要添加鉴权auth_key参数才可正常播放。鉴权还无法实现设置某个URL仅能够一次访问的功能,在有效时间内该地址可以一直访问。

6. 直播推流与播放

生成推流地址和播放地址后,就可以进行直播推流与播放的测试了。推流可以使用OBS(Open Broadcaster Software)等第三方推流软件,也可以使用阿里云直播Demo应用。播放可以使用VLC播放器等第三方播放软件。

使用OBS推流的简要步骤:打开OBS软件,在设置中选择推流;服务选择自定义;服务器输入推流地址;串流密钥输入推流地址中的StreamName部分;在来源中添加视频采集设备或显示器捕获;点击开始推流即可。

使用VLC播放的简要步骤:打开VLC播放器;选择媒体中的打开网络串流;输入播流地址;点击播放即可观看直播流。

每个域名可生成多个推流和播放地址,支持多场直播并发。推流域名的并发推流上限因地域而异:北京、上海、深圳为300路,其他直播中心为50路。

7. 直播转码配置

直播转码服务可以解决推流端码率较高或较低而导致播放效果不好、视频播放卡顿等问题。转码模板是用于定义音视频转码任务输出参数的配置集合,包含基础参数、视频参数以及音频参数等。用户可根据业务需求自定义或使用系统预置模板。

阿里云视频直播支持预置模板和自定义转码模板。转码模板需要在直播控制台中配置,配置时需要记录AppName,因为只有推流地址中的AppName名称与转码模板的AppName名称对应时,转码模板才会生效。在选择转码模板时,需要先填写AppName,系统会加载出与该AppName匹配的转码模板。

多码率转码功能支持根据网络情况自动调整推拉流码率。码率自适应支持多种模式设置,使直播更加流畅。通过配置多码率转码,可以为不同网络条件的观众提供不同清晰度的播放地址,观众端可以根据网络状况自动选择最合适的码率进行播放。

8. 直播录制配置

阿里云视频直播支持将直播流同步录制为点播视频,并支持媒资管理、媒体处理、CDN分发加速等一系列操作。录制功能需要配合阿里云OSS或VOD存储服务使用。使用直播录制前,需要先开通阿里云OSS,并在直播控制台中配置存储地址。

录制配置的简要步骤:在视频直播控制台点击域名管理;选择播流域名右侧的域名配置;点击左侧菜单录制配置;选择存储类型(OSS或VOD);设置录制周期和格式;配置录制回调地址。配置完成后,推流时会自动生成录制文件。

录制文件存储需要满足以下条件:直播配置与录制的OSS需在同一阿里云账号下;直播地域需与OSS的Bucket所选地域一致。录制生成的文件可以进行转码、分发等后续处理。

9. 事件回调配置

视频直播提供直播推流状态、直播录制、按需录制、直播截图、智能审核、双流灾备的事件回调功能。视频直播服务支持HTTP回调(兼容HTTPS)方式获取事件通知。您需要部署一个HTTP服务来接收回调消息,并在控制台或通过API配置回调地址。

不同类型回调的配置要求如下:推流回调和双流灾备回调只能在推流域名的事件回调中进行配置;录制回调、截图回调、智能审核回调只能在对应播流域名的事件回调中进行配置。

推流回调配置的控制台操作步骤:在左侧导航栏单击功能管理事件回调;选择要配置的推流域名;开启推流回调开关;回调类型选择推/断流回调或推流异常事件回调;回调地址输入您自身拥有的回调地址;推/断流回调使用HTTP GET请求,异常事件回调使用HTTP POST请求;如需鉴权,打开鉴权开关并输入鉴权Key;单击确定完成配置。

回调地址URL需可正常访问。如果访问超时,会重试URL,超时时间是5秒,重试次数5次,重试间隔1秒。推断流回调中,RTMP推流在阿里云直播服务收到On Publish消息后2秒内,如果推流端不主动断开,阿里云直播服务就会发推流成功回调。当10秒内没有流数据推送到直播中心时,直播服务会自动断开推流。

推断流回调参数包括:action(事件类型,publish表示推流,publish_done表示断流);ip(推流的客户端IP);id(推流流名称);app(推流域名);appname(推流应用名称);time(Unix时间戳);node(CDN接受流的节点);height和width(分辨率信息,仅在首次回调时产生)。

回调配置也支持通过API方式进行管理:SetLiveStreamsNotifyUrlConfig接口用于配置推流回调;DescribeLiveStreamsNotifyUrlConfig接口用于查询推流回调配置;DeleteLiveStreamsNotifyUrlConfig接口用于删除推流回调配置。

10. 服务端API集成

阿里云视频直播提供了完整的服务端API,支持通过SDK方式调用。调用服务端API需要使用AccessKey完成身份验证。在调用API之前,需要先创建RAM用户并授权,然后获取访问密钥(AccessKey)。

以下是Java SDK的使用示例。首先需要在项目中引入视频直播的SDK依赖,然后初始化客户端:

import com.aliyun.live20161101.Client;
import com.aliyun.live20161101.models.DescribeLiveSnapshotConfigRequest;
import com.aliyun.live20161101.models.DescribeLiveSnapshotConfigResponse;
import com.aliyun.teaopenapi.models.Config;
public class LiveClientExample {
    public static void main(String[] args) throws Exception {
        Config config = new Config();
        config.setAccessKeyId("your-access-key-id");
        config.setAccessKeySecret("your-access-key-secret");
        config.setRegionId("cn-shanghai");
        config.setEndpoint("live.aliyuncs.com");
        
        Client client = new Client(config);
        
        DescribeLiveSnapshotConfigRequest request = new DescribeLiveSnapshotConfigRequest();
        request.setDomainName("your-play-domain.com");
        
        DescribeLiveSnapshotConfigResponse response = client.describeLiveSnapshotConfig(request);
        System.out.println(response.getBody());
    }
}

以下是Python SDK的使用示例。首先安装阿里云视频直播SDK,然后初始化客户端并调用API:

from aliyunsdkcore.client import AcsClient
from aliyunsdklive.request.v20161101 import DescribeLiveSnapshotConfigRequest
client = AcsClient(
    'your-access-key-id',
    'your-access-key-secret',
    'cn-shanghai'
)
request = DescribeLiveSnapshotConfigRequest.DescribeLiveSnapshotConfigRequest()
request.set_DomainName('your-play-domain.com')
response = client.do_action_with_exception(request)
print(response)

运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。服务端SDK支持的操作包括:直播流管理(查询在线流、断开流等)、录制管理(查询录制文件列表等)、截图管理(查询截图配置等)、转码配置管理等。

11. 安全与权限管理

阿里云视频直播提供了多层级的安防机制。首先是URL鉴权,域名初次添加时默认已开启URL鉴权。鉴权Key用于生成鉴权串,可通过控制台URL鉴权配置获取。开启鉴权后,推流和播流地址均需要添加鉴权auth_key参数才可正常播放。URL鉴权采用MD5算法生成加密字符串,有效时长可配置。如果需修改有效时长,可在URL鉴权配置页面进行调整。

其次是IP黑白名单配置,可以限制允许或禁止推流和播放的IP地址范围。再次是防盗链配置,可以设置Referer白名单,防止未经授权的网站盗用直播流。此外,还可以通过RAM子账号进行权限管理。创建RAM用户并授权后,使用子账号的AccessKey调用API,实现最小权限原则。建议在正式生产环境中使用RAM子账号而非主账号进行API调用,以避免主账号密钥泄露带来的安全风险。

对于实时音视频场景,阿里云设计了Token安全保护签名机制。为方便体验和测试,在App开发阶段可以在客户端生成Token。但在App正式上线前,必须部署自己的Token服务器以获取Token。

12. 成本优化建议

视频直播服务支持按量计费和资源包两种计费方式。按量计费主要涉及以下费用:流量费(外网下行流量)、转码费(按转码时长计费)、录制费(按录制时长计费)等。为了有效控制成本,可以采取以下优化措施。

第一,购买资源包。对于流量较大的业务场景,购买流量资源包通常比按量计费更经济。第二,同地域内网访问免流量。如果直播流需要在同地域的阿里云产品之间传输(如ECS服务器拉流),使用内网地址可以免收流量费。第三,合理选择存储类型。录制的视频文件存储在OSS中时,可以选择低频访问或归档存储类型以降低存储成本。第四,监控外网流量。建议开启云监控告警,防止流量盗刷导致的意外费用。第五,按需使用转码。不是所有直播流都需要转码,可以根据实际业务需求选择性开启转码功能。

在开通服务时,快速体验推荐使用按量计费。如果测试过程中产生的流量不超过10GB,预估费用最高为0.42USD。最终实际费用因地域、计费方式等原因可能产生差异,请以控制台显示的实际报价以及最终账单为准。

13. 常见问题解答

问题1:推流域名和播流域名可以是同一个域名吗?

不可以。推流域名与播流域名不能是同一个域名,但可以是同一主域名下的两个不同子域名。例如,可以使用push.test.com作为推流域名,play.test.com作为播流域名。一个域名只能设置为一种类型,不能同时作为推流域名和播流域名。

问题2:CNAME配置后多久生效?

新增CNAME解析实时生效,修改CNAME解析最多需要72小时生效。配置完成后,可以通过dig CNAME命令验证是否生效。如果CNAME状态栏中的感叹号消失,表示配置已生效。

问题3:推流地址和播流地址中的AppName和StreamName有什么作用?

AppName是直播的应用名称,由用户自定义,用于区分不同的直播应用或业务场景。StreamName是直播的流名称,由用户自定义,用于作为直播流的唯一标识。转码模板的配置也是基于AppName进行匹配的,只有推流地址中的AppName名称与转码模板的AppName名称对应时,转码模板才会生效。

问题4:如何获取带鉴权的直播地址?

带鉴权的直播地址可以通过两种方式获取。方式一:在视频直播控制台使用直播地址生成器一键生成,地址会自动附带加密的鉴权串。方式二:通过代码拼接生成,先拼接URI,然后根据鉴权算法生成鉴权串并附加到URL中。鉴权Key可通过控制台URL鉴权配置获取。

问题5:直播录制需要额外开通什么服务?

直播录制需要配合阿里云OSS或VOD存储服务使用。使用直播录制前,需要先开通阿里云OSS,并在直播控制台中配置存储地址。录制配置时,直播配置与录制的OSS需在同一阿里云账号下,且直播地域需与OSS的Bucket所选地域一致。

问题6:如何接收直播事件回调通知?

您需要部署一个HTTP服务来接收回调消息,并在视频直播控制台或通过API配置回调地址。当推流或断流事件产生时,直播服务端会向该地址发起HTTP GET请求。当录制完成、截图完成等其他事件产生时,直播服务端会向该地址发起HTTP POST请求,具体内容通过JSON Body送达。回调地址需可正常访问,超时时间为5秒,重试次数5次。

相关文章
|
3天前
|
人工智能 定位技术 SEO
我学 GEO 第 15 天:终于知道AI GEO该如何做?
我是暴走的莉莉酱,边旅行边研究AI GEO的数字游民。专注普通人如何提升“AI可见度”——让AI在回答用户问题时准确识别、理解并推荐你。不讲玄学,只做可测、可调、可持续的GEO实践。
370 124
|
5天前
|
机器学习/深度学习 人工智能 调度
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
HappyHorse 1.1 是新一代视频生成大模型,全面升级动态表现力、角色一致性、指令遵循、视觉质感与音画协同能力。支持I2V/T2V/R2V三类生成,适配短剧、电商广告、品牌营销等场景,提供高质、流畅、可控的AI视频生产力。
638 4
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
|
1天前
|
人工智能 自然语言处理 API
阿里云Token Plan团队版解析:功能、三档套餐与省钱订阅指南
阿里云百炼平台推出的Token Plan团队版,是面向企业与团队的AI大模型订阅服务,以Credits为统一计量单位,整合文本与图像生成模型,提供团队管理、数据安全、多工具兼容等核心能力,解决团队零散订阅AI服务的管理混乱、成本失控、数据安全等痛点。本文将从核心定位、套餐详情、计费规则、团队管理、工具兼容、便宜订阅技巧等方面,全面解析Token Plan团队版,帮助企业与团队高效、低成本地使用AI服务。
285 108
|
3天前
|
缓存 人工智能 运维
阿里云618百炼大模型Qwen3.7-Max功能、免费试用、订阅计费、配置接入详解
Qwen3.7-MAX是阿里云百炼平台推出的通义千问3.7系列旗舰大语言模型,专为智能体时代复杂任务打造,依托阿里云全域算力与自研技术,在逻辑推理、长文本处理、代码工程、长周期自主执行等领域达到行业顶尖水平。2026年618期间,该模型推出多重免费试用权益、按量计费5折、订阅套餐优惠等专属福利,覆盖个人开发者、团队与企业全场景需求,以下从核心功能、免费试用、订阅计费、配置接入四方面展开详细解析。
376 123
|
16天前
|
缓存 测试技术 API
Qwen 3.7 Plus 与 Max 实测:性价比与多模态能力差异解析(2026)
2026 年 6 月 1 日,阿里悄无声息地发布了 Qwen 3.7 Plus,距 Qwen 3.7 Max 上线刚好 11 天。同样的 1M 上下文,同样的 35 小时自治上限。但价格才是头条:Plus 是 0.40/M输入,Max是 2.50/M——便宜约 6 倍——并且还能看图、看视频。Vision Arena 上 Plus 已经排到 #16。所以这周真正值得讨论的问题不是”要不要为视觉能力买单”,而是”Max 凭什么用 6 倍价格换来 2 个百分点的 benchmark 领先”。
|
2天前
|
存储 人工智能 数据可视化
别再手动复制 Skill 了:多 Agent 时代的 Skill 管理方案
多 Agent 场景下 Skill 的统一管理与同步。
193 121
|
9天前
|
缓存 人工智能 运维
GLM 5.2自托管全流程实战:硬件选型、vLLM/SGLang部署与成本盈亏测算
2026年智谱发布GLM 5.2超大混合专家模型,区别于以往仅开放API的闭源大模型,该模型权重以MIT开源协议对外发布,企业与开发者可完整下载、本地审计、私有化部署,实现数据不出环境、自定义微调、自主调度推理资源。GLM 5.2拥有753B总参数,原生支持百万级上下文窗口,在代码生成、长文档推理、数学逻辑等多项基准测试中对标国际顶尖商用模型,是首款可完整自托管的前沿代码向大模型。
766 0
|
2天前
|
SQL 存储 运维
日志能不能改?SLS LogStore 原生支持更新和删除了
随着日志承载的业务语义越来越多,数据订正、回填、清理等需求变得越来越常见。SLS 现已为 LogStore 提供原生 update/delete 能力——支持按 RowID 精确修改,按查询条件批量操作,类似计费调账、标签刷新、反馈回填等场景都可以直接在 LogStore 内完成闭环。
175 124

热门文章

最新文章