Q:推流、直播是什么?
A:推流:主播将本地视频源和音频源推送到云直播服务器,在有些场景中也被称为“RTMP 发布”。
直播:直播的视频源是实时生成的,有人推流直播才有意义,一旦主播停播,则无法通过播流地址观看任何内容。
Q:推流协议有哪些?
A:Real Time Messaging Protocol(RTMP)即实时消息传输协议,是 Adobe 公司开发的一个基于 TCP 的应用层协议,目前国内的视频云服务都是以 RTMP 为主要推流协议。
Q:播流协议有哪些?
A:目前常见的播流直播协议有三种:RTMP、 FLV 和 HLS。
RTMP:RTMP 协议比较全能,既可以用来推送又可以用来直播,其核心理念是将大块的视频帧和音频帧拆分,然后以小数据包的形式在互联网上进行传输,而且支持加密,因此隐私性相对比较理想,但拆包组包的过程比较复杂,所以在海量并发时也容易出现一些不可预期的稳定性问题。
FLV:FLV 协议由 Adobe 公司主推,格式极其简单,只是在大块的视频帧和音视频头部加入一些标记头信息,由于这种简洁,在延迟表现和大规模并发方面都很成熟,唯一的不足就是在手机浏览器上的支持非常有限,但是用作手机端 App 直播协议却异常合适。
HLS:苹果推出的解决方案,将视频分成5秒 - 10秒的视频小分片,然后用 m3u8 索引表进行管理,由于客户端下载到的视频都是5秒 - 10秒的完整数据,故视频的流畅性很好,但也同样引入了很大的延迟(HLS 的一般延迟在10秒 - 30秒左右)。相比于 FLV, HLS 在 iPhone 和大部分 Android 手机浏览器上的支持都非常好。
直播协议 |
优点 |
缺点 |
播放延迟 |
FLV |
成熟度高、高并发无压力 |
需集成 SDK 才能播放 |
2s - 3s |
RTMP |
优质线路下理论延迟最低 |
高并发情况下表现不佳 |
1s - 3s |
HLS(m3u8) |
手机浏览器支持度高 |
延迟非常高 |
10s - 30s |
Q:常见的推流方式?
A:移动端 Android/iOS,使用摄像头:使用第三方软件或SDK采集摄像头视频,并推送视频流至直播流推流地址。
台式机或笔记本,使用摄像头或桌面录屏:使用第三方软件采集摄像头视频或桌面图像,将视频或桌面内容推流至直播流推流地址。第三方推流软件包括:OBS(推荐)、XSplit、FMLE 等。
视频采集设备:高清摄像机类设备如果具备 HDMI 或者 SDI 输出接口,可以接入编码器,以 RTMP 推流的方式向直播服务推送直播内容,您需要将直播推流地址配置到编码器的 RTMP 发布地址。
网络摄像头类设备,如果支持 RTMP 推流,则可将直播推流地址配置到摄像头的 RTMP 发布地址。
视频文件转视频流:读取某个视频文件,并以 RTMP 流方式输出作为视频源来向直播服务的 RTMP 推流地址进行视频发布。可以使用ffmpeg命令来实现(Windows、Linux 及 Mac 均适用)。
Q:接入直播服务为什么需要自有已备案域名?
A:云直播提供直播服务、但不提供域名使用服务,用户需提供自有的已备案域名进行推流和播放,若您没有自有域名,则需要提前申请注册自有域名。
Q:我的自有域名没有完成备案,可以在云直播使用吗?
A:根据国务院令第292号《互联网信息服务管理办法》和工信部令第33号《非经营性互联网信息服务备案管理办法》规定,国家对经营性互联网信息服务实行许可制度,对非经营性互联网信息服务实行备案制度。未取得许可或者未履行备案手续的,不得从事互联网信息服务,否则属于违法行为。因此,未完成备案的自有域名,无法接入云直播服务,请您尽快申请备案。
Q:什么是 ICP 备案?
A:ICP 备案 = 网站备案 + 域名备案,您在云直播使用的域名需完成ICP备案中的域名备案。各地管局对域名备案的要求略有差异,详细可查询各省管局要求或咨询您的域名服务提供商。
Q:直播鉴权是什么?
A:云直播服务支持对推流和播流进行鉴权认证,保护您的直播版权不受侵犯。
推流鉴权:直播推流采用 URL 鉴权,URL 鉴权功能旨在保护用户上传的通道资源不被非法盗用侵占。
播放鉴权:直播播放采用 URL 鉴权。直播控制台开启播流鉴权后会自动开启播放 URL 鉴权,能有效降低客户资源被盗链的风险。