夜恋社区
标题:
视频直播基础知识我们必训了解的?
[打印本页]
作者:
绿林道的鹅
时间:
2020-6-4 11:26
标题:
视频直播基础知识我们必训了解的?
推流、直播和点播分别是什么?
· 推流:主播将本地视频源和音频源推送到视频云服务器,在有些场景中也被称为“RTMP 发布”。
· 直播:直播的视频源是实时生成的,有人推流直播才有意义,一旦主播停播,直播 URL 也就失效了,而且由于是实时直播,所以播放器在播直播视频的时候是没有进度条的。
· 点播:点播的视频源是云端的一个文件,文件只要没有被提供方删除就随时可以播放(类似优酷土豆、爱奇艺和腾讯视频), 而且由于整个视频都在服务器上,所以播放的时候是有进度条的。
支持哪些推流协议?
虽然 RTMP 在直播领域不是特别流行,但是在推流服务,也就是“主播”到“服务器”这个方向上 RTMP 居于主导地位,目前国内的视频云服务都是以 RTMP 为主要推流协议(由于移动直播 SDK 第一个功能模块就是主播推流,所以也被称为是 RTMP SDK)。
支持哪些播放协议?
目前常见的直播协议有三种:RTMP、 FLV 和 HLS。
· RTMP:RTMP 协议比较全能,既可以用来推送又可以用来直播,其核心理念是将大块的视频帧和音频帧拆分,然后以小数据包的形式在互联网上进行传输,而且支持加密,因此隐私性相对比较理想,但拆包组包的过程比较复杂,所以在海量并发时也容易出现一些不可预期的稳定性问题。
· FLV:FLV 协议由 Adobe 公司主推,格式极其简单,只是在大块的视频帧和音视频头部加入一些标记头信息,由于这种简洁,在延迟表现和大规模并发方面都很成熟,唯一的不足就是在手机浏览器上的支持非常有限,但是用作手机端 App 直播协议却异常合适。
· HLS:苹果推出的解决方案,将视频分成5秒 - 10秒的视频小分片,然后用 m3u8 索引表进行管理,由于客户端下载到的视频都是5秒 - 10秒的完整数据,故视频的流畅性很好,但也同样引入了很大的延迟(HLS 的一般延迟在10秒 - 30秒左右)。相比于 FLV, HLS 在 iPhone 和大部分 Android 手机浏览器上的支持非常给力,所以常用于 QQ 和微信朋友圈的 URL 分享。
播放地址由什么组成?
云播放地址主要由播放前缀、播放域名(domain)、应用名称(AppName)、流名称(StreamName)、播放协议后缀、鉴权参数以及其他自定义参数组成,如下:
·
·
rtmp://domain/AppName/StreamName?txSecret=xxxxxxxx&txTime=xxxxxx
http://domain/AppName/StreamName.m3u8?txSecret=xxxxxxxx&txTime=xxxxxx
http://domain/AppName/StreamName.flv?txSecret=xxxxxxxx&txTime=xxxxxx
https://domain/AppName/StreamName.m3u8?txSecret=xxxxxxxx&txTime=xxxxxx
https://domain/AppName/StreamName.flv?txSecret=xxxxxxxx&txTime=xxxxxx
· 播放前缀
RTMP 播放协议:rtmp:// 。
HTTP-FLV 播放协议:http:// 或者 https:// 。
HLS 播放协议:http:// 或者 https:// 。
· 应用名称(AppName)
应用名称指的是直播流媒体文件存放路径,默认云直播会分配一个路径:live。
· 流名称(StreamName)
流名称(StreamName)是指每路直播流唯一的标识符。
· 鉴权参数以及其他自定义参数
鉴权参数:txSecret=xxxxxxxx&txTime=xxxxxx。
常见的推流方式
· 移动端 Android/iOS,使用摄像头:使用第三方软件或 移动直播 SDK 采集摄像头视频,并推送视频流至直播流推流地址。
· 台式机或笔记本,使用摄像头或桌面录屏:使用第三方软件采集摄像头视频或桌面图像,将视频或桌面内容推流至直播流推流地址。第三方推流软件包括:OBS(推荐)、XSplit、FMLE 等。
· 视频采集设备:高清摄像机类设备如果具备 HDMI 或者 SDI 输出接口,可以接入编码器,以 RTMP 推流的方式向直播服务推送直播内容,您需要将直播推流地址配置到编码器的 RTMP 发布地址。
网络摄像头类设备,如果支持 RTMP 推流,则可将直播推流地址配置到摄像头的 RTMP 发布地址。
· 视频文件转视频流:读取某个视频文件,并以 RTMP 流方式输出作为视频源来向直播服务的 RTMP 推流地址进行视频发布。可以使用 ffmpeg 命令来实现(Windows、Linux 及 Mac 均适用)。
断流和禁播的区别
· 断流功能:一条直播中的流,如果断流,则本次推流会被中断,观众端将无法观看直播。断流后,主播端可以再次发起推流,继续直播活动。
· 禁播功能:一条直播中的流,如果禁播,则本次推流会被中断,观众端将无法观看直播。断流后,主播端在禁播时间内无法再次发起推流,禁播功能可通过云直播控制台的流管理页面配置,禁用后的直播流展示于禁播流列表页,单击【启用】后可恢复使用。
如何使用播放转码?
考虑到不同的网络因素,满足您使用不同码率不同分辨率的需求,您可以前往?转码配置?设置不同码率不同分辨率的转码模板,更多转码相关信息请参见?最佳实践 - 直播转封装及转码。
原始、高清、标清场景
在业务播放场景中,一般会用到三个码率:原始、高清、标清。
· 原始流与推流码率分辨率一致。
· 高清流建议使用码率:2000kbps,分辨率:1080p。
· 标清流建议使用码率:1000kbps,分辨率:720p。
如何使用时移回看?
若您想回看过去某段时间的精彩内容,您可以使用时移功能,时移功能目前仅支持 HLS 协议。具体时移的相关介绍以及开通方法请参考?最佳实践 - 直播时移。
如何使用 HTTPS 播放?
若您的播放域名需要支持 HTTPS,您需要准备好有效的证书内容、有效私钥内容前往?域名管理,选择【播放域名管理】>【高级配置】>【HTTPS配置】添加配置,添加成功之后会有个生效时间(2小时),在生效后您的直播流就可以支持 HTTPS 协议播放。
如何使用海外加速节点播放?
CDN 节点不仅遍布中国大陆区域,同样在全世界各个大洲也有节点覆盖,覆盖广并且稳定。假如您的用户分布在中国香港、中国澳门、中国台湾或海外其他地区,您可以通过在?域名管理?中配置域名时候加速区域选择【全球加速】或【中国港澳台地区及海外地区】,来获得海外节点覆盖的支持。更多详细了解
http://zhibo.ruichuanglifeng.com
欢迎光临 夜恋社区 (http://www.yeelove.xyz/)
Powered by Discuz! X3.2