阿里云视频直播支持多种方式推流,您可以根据业务使用场景,通过不同设备实现标准直播推流和超低延时直播推流。
前提条件
对于标准直播:您已完成视频直播基本流程中,开通服务到生成推流地址和播放地址及之间的所有操作。详细信息,请参见视频直播基本流程。
对于超低延时直播:您已完成超低延时直播基本流程中,开通直播服务到生成推流地址和播放地址及之间的所有操作。详细信息,请参见超低延时直播基本流程。
通过自定义拼接推流地址和播放地址时,请参见推流地址和播放地址。推流代码示例,请参见如何通过PHP或Java代码生成推流地址和播放地址?。
标准直播推流
场景一:PC端推流
在 PC(Windows/Mac)端推流时候,您可根据实际情况选择安装OBS进行推流。OBS推流工具支持Windows、Mac和Linux平台,是一个免费的开源的视频录制和视频实时流软件。
本文以Windows端OBS v27.2.3版本为例介绍使用OBS推流,其他平台及版本操作类似。关于OBS更多使用信息,请参见OBS推流工具的使用方法。
下载并安装OBS推流工具。下载地址,请参见OBS Studio。
运行OBS推流工具。
在菜单栏中选择 。
在设置页面选择推流,配置信息如下所示:
参数
描述
服务
选择自定义。
服务器
输入已经生成的鉴权推流地址,例如:
rtmp://demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************
。串流密钥
串流密钥为空。
在OBS主界面来源区域添加推流源,然后单击开始推流。
(可选)安装阿里云OBS美颜特效插件,调试美颜特效效果。详情请参见OBS美颜插件使用教程。
场景二:移动端推流
使用移动端扫描并安装阿里云直播Demo。
说明iOS端扫码安装时如果提示未受信任的企业级开发者,需要在
中找到Taobao对应的信任描述,并选择信任。运行阿里云直播Demo。
选择摄像头推流或录屏推流。
说明移动端进行本地视频推流时仅支持视频图像原有yuv格式。
输入已经生成的鉴权推流地址(例如:
rtmp://demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************
),并按照实际需求完成其他参数的配置。单击开始推流,开始移动端推流。
场景三:使用直播推流SDK推流
iOS推流SDK
集成iOS端推流SDK。具体操作,请参见SDK集成。
根据实际需求配置推流参数并推流。具体操作,请参见功能使用。
在配置推流参数或推流时可能会出现异常情况,请参见错误异常及特殊场景处理。
Android推流SDK
集成Android端推流SDK。具体操作,请参见SDK集成。
根据实际需求配置推流参数并推流。具体操作,请参见功能使用。
在配置推流参数或推流时可能会出现异常情况,请参见错误异常及特殊场景处理。
超低延时直播推流
超低延时直播推流时,不同场景对直播推流格式有要求。请严格按照您的推流格式和推流端,选择对应的场景指导。
场景一:PC端推流(OBS推RTMP格式流)
打开OBS推流工具。
在菜单栏中选择 。
在设置页面选择推流,服务器输入已生成的RTMP格式推流地址,例如:
rtmp://example.aliyundoc.com/liveApp****/liveStream****?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0****
。说明推流地址由推流域名、AppName、StreamName和鉴权串组成,您需要根据实际情况输入自己的推流地址。
您可以根据实际情况输入串流密钥或者为空。
在左侧导航栏选择输出,关键帧间隔设置不超过3秒,配置设置为baseline。
在左侧导航栏选择高级,在网络配置区域选中动态调整比特率以应对网络拥堵。
场景二:Web端推流(浏览器推RTS格式流)
进入RTS Web播放器。
单击推流页签。
展开none下拉框,根据您的实际需求,选择camera(摄像头)或者screen(屏幕共享)。
如果您选择camera,需要依次单击下方的获取设备按钮,在弹窗中授权访问麦克风和摄像头,授权成功后,再展开选择麦克风和选择摄像头下拉框,选择对应的设备。
单击创建本地流。
输入已生成的RTS格式推流地址。例如:
artc://example.aliyundoc.com/liveApp****/liveStream****?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0****
。单击开始推流。
场景三:推流SDK(使用推流SDK推RTS格式流)
使用推流SDK进行RTS推流时,和使用推流SDK进行RTMP推流的方法相同,只需要在调用startPush接口的时候将RTS格式的推流地址传递给推流SDK即可,其他的不需要做改动。
iOS推流SDK
集成iOS端推流SDK。具体操作,请参见SDK集成。
根据实际需求配置推流参数并推流。具体操作,请参见功能使用。
在配置推流参数或推流时可能会出现异常情况,请参见错误异常及特殊场景处理。
Android推流SDK
集成Android端推流SDK。具体操作,请参见SDK集成。
根据实际需求配置推流参数并推流。具体操作,请参见功能使用。
在配置推流参数或推流时可能会出现异常情况,请参见错误异常及特殊场景处理。