淘先锋技术网

首页 1 2 3 4 5 6 7

直播

一、概念

基于领先的内容接入、分发网络和大规模分布式实时转码技术打造的音视频直播平台、高清流畅、低延迟、高并发的音视频直播服务。

  • 推流
    主播将本地视频源和音频源推送到云服务器,在有些场景中也被称为“RTMP 发布”
  • 拉流
    即直播播放,指已实现直播推流之后,用指定地址将腾讯视频云服务器中的视频源和音频源拉取播放的过程
  • 其视频源是实时生成的,有人推流直播才有意义,一旦主播停播,直播 URL 也就失效了
  • 实时直播,播放器在播直播视频时没有进度条

传输协议

常用的直播协议包括了 HLS, RTMP 与 HTTP-FLV 这三种,其对比如下:

协议优势缺陷延迟性对应的直播格式地址
HLS支持性广延时巨高10s 以上http://*.m3u8
RTMP延时性好,灵活量大的话,负载较高1s 以上rtmp://*
HTTP-FLV延时性好,游戏直播常用只能在手机 APP 播放2s 以上http://*.flv

img

img

采集

采集内容

  • 音频采集
  • 图像采集

采集源

  • 摄像头采集
  • 屏幕录制
  • 视频文件推流
  • 开放式设计

image

处理

视频或者音频完成采集之后得到原始数据,为了增强一些现场效果或者加上一些额外的效果

视频处理

  • 美颜
  • 滤镜
  • 水印
  • 自定义

音频处理

  • 混音
  • 降噪
  • 特效
  • 自定义

编码

编码

对流媒体传输来说,编码非常重要

编码性能、编码速度和编码压缩比会直接影响整个流媒体传输的用户体验和传输成本

视频编码器:
  • H.264/AVC
  • HEVC/H.265
  • VP8
  • VP9
  • FFmpeg
音频编码器:
  • Mp3
  • AAC

封装

把编码器生成的多媒体内容(视频、音频、字幕、章节信息等)混合封装在一起

几种常见的封装格式:

  1. AVI 格式(后缀为 .avi)
  2. DV-AVI 格式(后缀为 .avi)
  3. QuickTime File Format 格式(后缀为 .mov)
  4. MPEG 格式(文件后缀可以是 .mpg .mpeg .mpe .dat .vob .asf .3gp .mp4等)
  5. WMV 格式(后缀为.wmv .asf)
  6. Real Video 格式(后缀为 .rm .rmvb)
  7. Flash Video 格式(后缀为 .flv)
  8. Matroska 格式(后缀为 .mkv)
  9. MPEG2-TS 格式 (后缀为 .ts)

目前,我们在流媒体传输,尤其是直播中主要采用的就是 FLV 和 MPEG2-TS 格式,分别用于 RTMP/HTTP-FLV 和 HLS 协议

推流

使用推流工具等内容抓取软件把直播内容传输到服务器的过程

推送协议主要有三种:

  • RTSP(Real Time Streaming Protocol):实时流传送协议
  • RTMP(Real Time Messaging Protocol):实时消息传送协议
  • HLS(HTTP Live Streaming):是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议

其中RTMP是目前主流的流媒体传输协议,广泛用于直播领域,市面上绝大多数的直播产品都采用了这个协议。

RTMP协议就像一个用来装数据包的容器,这些数据可以是AMF格式的数据,也可以是FLV中的视/音频数据。一个单一的连接可以通过不同的通道传输多路网络流。这些通道中的包都是按照固定大小的包传输的。

流分发

转码

视频直播播流端的码率是根据推流端决定的,即播流端的码率是与推流端的码率一致的。如果不相匹配面可能会造成播放卡顿或播放效果较差,所以播放器需要设置多码率切换,即一个推流提供多个码率的播流地址。

分发

负责直播流的发布和转播分发功能,通过CDN边缘节点进行加速保证上行传输的稳定性。

播放

直播节目在终端上的展现,传输协议使用的是rtmp,所以只要支持 RTMP 流协议的播放器都可以使用。

二、直播前准备

  1. 注册域名,并备案成功。
  2. 配置推流域名和播放域名(可以是二级域名,必须不同),完成CNAME。
  3. 推流配置
  • 鉴权配置

  • 模板配置

    • 回调
    • 录制
    • 截图&鉴黄
    • 水印配置
  1. 播流配置
  • 播放地址的生成

  • 模板配置

    • 转码配置
    • 访问控制(鉴权配置)
    • 高级配置:Https、带宽封顶配置、区域配置
  1. 获取推流和播流地址。

对其进行各种配置时,需要购买不同的资源包

差异

阿里云

  • 推流域名和播流域名需要关联

  • 直播推流 每个域名限制20路并发流,10路转码流。直播推流地址可一批量生成,但是只能同时向20个地址推流

腾讯云

  • 直播推流和拉流域名不需要进行关联
  • 同一域名下地址数量无限制

三、阿里云直播终端开发

1.前端集成SDK

http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/137410/cn_zh/1583376879936/直播推流SDK开发文档(1).pdf?spm=a2c4g.11186623.2.11.64704cceOR0RwI&file=直播推流SDK开发文档(1).pdf

2.后端接口

  1. 获取推流地址
  2. 获取播流地址

1. 录制前

pc端推流与播流:

https://help.aliyun.com/document_detail/98333.html?spm=a2c4g.11186623.6.586.33974689Y0XwSv

  1. PC端目前还没有推流SDK。目前只提供了OBS的推流工具。

移动端

android推流功能

类别操作阿里云直播直播前配置
特效滤镜1
水印1
美颜磨皮1
美白1
红润1
摄像头前置后置动态切换1
自动对焦手动对焦1
闪光灯1
声音纯音频1
双声道立体声1
屏幕横竖屏切换1
录屏1
截屏1
蓝牙麦克风1

ios推流功能

image.png

直播时:

直播列表:接口来源、功能(筛选维度、数据结构等)

{
    "OnlineInfo":{
        "LiveStreamOnlineInfo":[{
            "AppName":"xchen",
            "DomainName":"test101.cdnpe.com",
            "PublishTime":"2015-12-02T06:58:04Z",
            "PublishUrl":"rtmp://test101.cdnpe.com/xchen",
            "StreamName":"testxchen"
        }]
    },
    "PageNum":2,
    "PageSize":10,
    "RequestId":"0D70427D-91E4-4349-AAD3-5511A5BB823B",
    "TotalNum":11,
    "TotalPage":2
}

2. 直播后

统计(播放进度、播放量等)

image

通过直播控制台查看

独立访客数:统计当前域名下一定时间段内独立请求的IP次数。

用户分布:观看视频用户所在地域分布。

域名排名:各个加速域名的访问排名。

不录制:直播结束

录制 :生成直播文件,整个直播或者直播的某个精彩片段

使用VOD :调用AddLiveRecordVodConfig增加直播录制转点播配置,将录制内容保存到点播媒资库。

使用OSS :

视频直播服务支持将接收到的源视频流进行录制,支持mp4、flv 格式,也支持周期录制时长的配置,视频文件会保存至您指定的OSS存储位置。在一次推流结束时,自动生成索引文件(m3u8文件、mp4文件、flv文件)。

录制结束:

生成直播时视频(需要开通点播功能,主动推送播放)

四、腾讯云直播终端开发

SDK集成

摄像头推流

录屏推流

直播拉流

高级功能

连麦互动

AI变脸和挂件

设定画面质量

  • 使用 TXLivePusher 提供的 setVideoQuality 接口(推荐)
  • 使用 TXLivePushConfig 中的音视频编码参数

自定义采集和渲染

  • 定制推流画面
  • 定制播放数据

SDK指标监控

可根据监控数据定位直播中出现的问题

禁播和流管理

对在线流、历史流、禁推流进行管理

录制和回看

用户整个直播过程录制下来,然后作为点播视频用于回看

功能扩展

点赞: 后台进行统计 参考链接

评论(弹幕):登录验证,结合群聊或者聊天室功能 参考链接

刷礼物:(后台统计,计算,排名,持久化) 参考链接

商品链接:用户可根据本次直播目的进行选择商品类型,提供直播间商品列表(直播过程修改信息,根据库存,或主动修改)

关注:将StreamName和用户唯一标识进行关联

分享:直播间(二维码,房间号,生成海报),分享商品,可通过评论分享链接或者其他方式进行分享

如何查看正在直播的流:可定时查询,返回列表 参考链接

附:

小程序直播带货Demo:参考链接

小程序直播:用户发送弹幕,点赞,送礼,进入和退出直播间,关注或取消主播需要引入主播带货IM 参考

互动直播解决方案参考链接

小直播参考链接

优质博客:

  • https://cloud.tencent.com/developer/article/1666026
  • https://cloud.tencent.com/developer/article/1666050

用户是否可以自己开直播?

用户需要通过实名认证。向后台申请直播间(大致思路)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eWdegnwN-1604992791482)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201110144926636.png)]

五、播放终端开发

1、播放终端sdk相关功能说明

image.png

提供Web和移动端(iOS\Android)的标准播放器SDK

直播转点播是将直播流同步录制为点播视频,并支持媒资管理、媒体处理(转码及内容审核/智能首图等AI处理)、内容制作(云剪辑)、CDN分发加速等一系列操作。

接入方式

视频直播服务将直播内容进行录制存储,并转入点播系统中进行管理。

在一个直播加速域名下,直播录制配置按直播推流的 AppName 和 StreamName 进行区分,即相同 AppName 和 StreamName 下的视频流(Stream)都按此 AppName 和 StreamName 下的录制配置进行录制。

注:录制配置中转码模板与合成模板相关问题,可参考 直转点录制配置

上述准备工作完成后,即可开始进行接入

说明:为了避免录制时,因网络抖动或临时断流而导致录制文件被异常截断,系统会延迟断流180s,即如果断流之后在180s内重新推流,系统会默认是同一路录制流,超过180s则认为是两路录制流。

查询录制的视频列表

控制台查看

  • 点播控制台 ,视频来源点击“视频录制”按钮,并进行查询,如下:image
  • 也可以在直播控制台- 录制文件管理 处,根据appname与streamname进行查询,如下:image

录制回调

点播系统会在直播录制时候进行回调通知,用户可以通过该方式,获取新增的录制视频。详情可参考 AddLiveRecordVideoComplete事件通知

接口查询

点播为用户提供了查询接口,用户可根据域名、APP名称、流名称来获取所需要的视频列表,详情可参考: 获取直转点视频列表

直转点优势

比起传统的录制到用户存储,录制到点播系统具有以下优势:

  • 一站式的视频生产:录制到点播同时支持自动进行转码+CDN分发等操作,提供一站式视频生产流程

  • 丰富的媒资管理:点播以视频维度进行录制视频管理,提供丰富的媒资管理属性,便于扩展

  • 强大的内容制作能力:利用点播的云剪辑等能力,可对录制的视频进行在线云剪辑,免去传统的制作流程

  • 智能审核、AI等媒体处理:基于强大的AI能力,对视频进行智能审核、智能首图、视频DNA等处理

播放时:

不属于直播流的范畴,需要的功能后期集成

点赞:处理方式(第三方、后端、SDK、功能设计)

评论:形式(自带、集成第三方等)

刷礼物:形式、修改

商品链接:写死、直播过程替换、替换后通知主动/被动

收藏:

分享:形式、内容

弹幕:

……

聊天室:

IM:

六、腾讯云录播

录播 vs 直播

  • 时间的固定性
  • 互动要求不同
  • 课程成本不同(设计,重复录制,剪辑)

直播录制:将直播原始流经过转音视频封装(不修改音频、视频数据以及对应的时间戳等信息)得到的文件存储到点播平台的服务。

云直播提供将直播画面进行录制并将文件存储到云点播中,可通过云点播对录制视频进行下载、预览等处理

使用场景

使用场景说明
按推流域名、流名称多级别录制您可以在推流域名、流名称级别配置是否需要录制。
按指定时间段录制您可以通过调用 API 控制录制的开始与结束时间,在您指定的时间内进行录制。
精彩视频录制在推流过程中碰到精彩画面,您可以通过调用 API 实时产生录制。
纯音频录制若推流为纯音频,您可以配置 AAC 纯音频录制。

格式

录制文件格式支持:FLV/HLS/MP4/AAC,其中 AAC 为纯音频录制。

准备工作

申请开通 云点播服务

创建录制模板配置

录制

直播录制方式 参考链接

  1. 为指定推流域名下的所有直播开启录制

    对某个推流域名下所有的直播流开启录制

  2. 同一推流下部分流不开启录制

    在1的基础上,某个推流域名配置了录制,但是此域名下存在个别推流因业务原因不需要录制吗,调用 api CreateLiveRecordTemplate,且不指定任何录制格式。

  3. 指定时间录制

    在指定开始时间启动录制,并在指定结束时间结束录制,不需要绑定录制模板,通过挨批调用创建 CreateRecordTask,建议提前创建录制任务。

  4. 精彩视频录制

    推流过程中开启录制,调用api StopRecordTask结束,最长30分钟,支持海外。

  5. 混流录制

    适用于使用了直播云端混流业务的场景

  6. 自动拼接录制

    多次推流续流录制,以自动拼接录制的方式将短时间中断的多次推流录制成一个文件。设置推流中断自动拼接时间(最大30分钟),在最后一次正常推流结束后,会自动拼接断流时间内的内容并生成 HLS 录制文件。

存储

直播录制将文件存放于点播平台(录制文件文件名称命名规则参见: 录制模板参数-VodFileName

获取录制文件

接收事件通知

目前直播事件触发消息通知支持事件包括:

  • 直播推流
  • 直播断流
  • 直播录制
  • 直播截图
  • 直播鉴黄

当域名关联模板事件触发时,腾讯云会主动发送请求到客户端服务器,客户服务器负责应答请求。验证通过后,您可被动获取到含直播事件回调信息的 JSON 数据包。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xVk5n3tt-1604992791492)(https://cdn.nlark.com/yuque/0/2020/svg/2009943/1604657722951-c62d0300-30da-4e0d-b7e4-1e747740c65e.svg)]

回调配置主要通过两种方式实现:

  • 云直播控制台:【功能模板】->【回调配置】,创建回调模板。然后在【域名管理】关联推流域名与回掉模板
  • 服务端api:
    1. 调用 CreateLiveCallbackTemplate 创建回调模板接口,设置您需要的回调参数信息。
    2. 调用 CreateLiveCallbackRule 创建回调规则,设置参数推流域名 DomainName 和 TemplateId(第1步返回),填写与推流和播放地址中一致的 AppName,实现部分直播流开启回调的效果。

注意事项:

  • 若同一直播流,配置录制模板的同时创建了录制任务,会导致重复录制。
  • 推流发起后启动录制会有短暂延迟,所以推流时间过短会导致无法生成录制文件,建议推流时间最少为10秒钟
  • 在更新完录制配置之后,重新推流并对配置进行验证
  • 配置作用时间是在直播推流开始时刻,录制过程中不更新配置

播放器

直播播放器和点播播放器均使用播放器版SDK:https://cloud.tencent.com/document/product/647/32689

分类

  • 基础播放器:短视频场景

    • 短视频社交平台
    • 电商购物平台
    • 微信公众号中的短片
  • 超级播放器:长视频播放和视频加密播放场景

    • 视频媒体平台
    • 在线教育网站
    • 网络电视平台

超级播放器播放功能列表

  • 通过手势操作,调节亮度、声音、进度等
  • 可以手动切换不同的清晰度,也可根据网络带宽自适应选择清晰度
  • 可以指定不同倍速播放,并开启镜像和硬件加速。
  • 可以在进度条上添加打点信息,并展示缩略图做预览。

完整功能列表,参照 点播超级播放器 - 能力清单

超级播放器Android

超级播放器iOS

https://cloud.tencent.com/document/product/266/9237

超级播放器Web

image.png

视频发布格式为 MP4 和 HLS(M3U8)格式。

功能列表

  • 播放器尺寸设置
  • 续播功能

image

  • 倍速播放
  • 缩略图预览

image

  • 切换fileId播放
  • 镜像功能

image

  • 进度条标记

image

  • HLS自适应码率播放
  • image
  • Referer防盗链
  • Key防盗链
  • 试看功能
  • HLS加密播放
  • 视频统计信息

image

  • 自定义提示文案

七、使用场景

文娱互动

  • 秀场直播
    唱吧直播,脱口秀。
  • UGC视频
    生活,娱乐直播,视频交友。
  • 游戏直播
    游戏赛事

教育

  • 企业培训
    企事业单位,集团公司跨地域培训。
  • 专业教育
    K12教育,成人学历培训。

电商

  • 商城直播
    产品介绍,晒单分享,最大化完成售卖转化。
  • 微商互动
    “直播+互动“的模式,通过社交传播,助力商品快速变。

金融

  • 证券、期货
    行情解读,投资者教育。
  • 保险行业
    代理人培训,保险产品禅说会。
  • 银行
    理财产品介绍和说明,理财客户进行培训,外汇行情解读。

专业

  • 体育赛事
    大型体育赛事,竞技活动。
  • 新闻媒体
    广播,电视媒体行业。

直播

一、概念

基于领先的内容接入、分发网络和大规模分布式实时转码技术打造的音视频直播平台、高清流畅、低延迟、高并发的音视频直播服务。

  • 推流
    主播将本地视频源和音频源推送到云服务器,在有些场景中也被称为“RTMP 发布”
  • 拉流
    即直播播放,指已实现直播推流之后,用指定地址将腾讯视频云服务器中的视频源和音频源拉取播放的过程
  • 其视频源是实时生成的,有人推流直播才有意义,一旦主播停播,直播 URL 也就失效了
  • 实时直播,播放器在播直播视频时没有进度条

传输协议

常用的直播协议包括了 HLS, RTMP 与 HTTP-FLV 这三种,其对比如下:

协议优势缺陷延迟性对应的直播格式地址
HLS支持性广延时巨高10s 以上http://*.m3u8
RTMP延时性好,灵活量大的话,负载较高1s 以上rtmp://*
HTTP-FLV延时性好,游戏直播常用只能在手机 APP 播放2s 以上http://*.flv

img

img

采集

采集内容

  • 音频采集
  • 图像采集

采集源

  • 摄像头采集
  • 屏幕录制
  • 视频文件推流
  • 开放式设计

image

处理

视频或者音频完成采集之后得到原始数据,为了增强一些现场效果或者加上一些额外的效果

视频处理

  • 美颜
  • 滤镜
  • 水印
  • 自定义

音频处理

  • 混音
  • 降噪
  • 特效
  • 自定义

编码

编码

对流媒体传输来说,编码非常重要

编码性能、编码速度和编码压缩比会直接影响整个流媒体传输的用户体验和传输成本

视频编码器:
  • H.264/AVC
  • HEVC/H.265
  • VP8
  • VP9
  • FFmpeg
音频编码器:
  • Mp3
  • AAC

封装

把编码器生成的多媒体内容(视频、音频、字幕、章节信息等)混合封装在一起

几种常见的封装格式:

  1. AVI 格式(后缀为 .avi)
  2. DV-AVI 格式(后缀为 .avi)
  3. QuickTime File Format 格式(后缀为 .mov)
  4. MPEG 格式(文件后缀可以是 .mpg .mpeg .mpe .dat .vob .asf .3gp .mp4等)
  5. WMV 格式(后缀为.wmv .asf)
  6. Real Video 格式(后缀为 .rm .rmvb)
  7. Flash Video 格式(后缀为 .flv)
  8. Matroska 格式(后缀为 .mkv)
  9. MPEG2-TS 格式 (后缀为 .ts)

目前,我们在流媒体传输,尤其是直播中主要采用的就是 FLV 和 MPEG2-TS 格式,分别用于 RTMP/HTTP-FLV 和 HLS 协议

推流

使用推流工具等内容抓取软件把直播内容传输到服务器的过程

推送协议主要有三种:

  • RTSP(Real Time Streaming Protocol):实时流传送协议
  • RTMP(Real Time Messaging Protocol):实时消息传送协议
  • HLS(HTTP Live Streaming):是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议

其中RTMP是目前主流的流媒体传输协议,广泛用于直播领域,市面上绝大多数的直播产品都采用了这个协议。

RTMP协议就像一个用来装数据包的容器,这些数据可以是AMF格式的数据,也可以是FLV中的视/音频数据。一个单一的连接可以通过不同的通道传输多路网络流。这些通道中的包都是按照固定大小的包传输的。

流分发

转码

视频直播播流端的码率是根据推流端决定的,即播流端的码率是与推流端的码率一致的。如果不相匹配面可能会造成播放卡顿或播放效果较差,所以播放器需要设置多码率切换,即一个推流提供多个码率的播流地址。

分发

负责直播流的发布和转播分发功能,通过CDN边缘节点进行加速保证上行传输的稳定性。

播放

直播节目在终端上的展现,传输协议使用的是rtmp,所以只要支持 RTMP 流协议的播放器都可以使用。

二、直播前准备

  1. 注册域名,并备案成功。
  2. 配置推流域名和播放域名(可以是二级域名,必须不同),完成CNAME。
  3. 推流配置
  • 鉴权配置

  • 模板配置

    • 回调
    • 录制
    • 截图&鉴黄
    • 水印配置
  1. 播流配置
  • 播放地址的生成

  • 模板配置

    • 转码配置
    • 访问控制(鉴权配置)
    • 高级配置:Https、带宽封顶配置、区域配置
  1. 获取推流和播流地址。

对其进行各种配置时,需要购买不同的资源包

差异

阿里云

  • 推流域名和播流域名需要关联

  • 直播推流 每个域名限制20路并发流,10路转码流。直播推流地址可一批量生成,但是只能同时向20个地址推流

腾讯云

  • 直播推流和拉流域名不需要进行关联
  • 同一域名下地址数量无限制

三、阿里云直播终端开发

1.前端集成SDK

http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/137410/cn_zh/1583376879936/直播推流SDK开发文档(1).pdf?spm=a2c4g.11186623.2.11.64704cceOR0RwI&file=直播推流SDK开发文档(1).pdf

2.后端接口

  1. 获取推流地址
  2. 获取播流地址

1. 录制前

pc端推流与播流:

https://help.aliyun.com/document_detail/98333.html?spm=a2c4g.11186623.6.586.33974689Y0XwSv

  1. PC端目前还没有推流SDK。目前只提供了OBS的推流工具。

移动端

android推流功能

类别操作阿里云直播直播前配置
特效滤镜1
水印1
美颜磨皮1
美白1
红润1
摄像头前置后置动态切换1
自动对焦手动对焦1
闪光灯1
声音纯音频1
双声道立体声1
屏幕横竖屏切换1
录屏1
截屏1
蓝牙麦克风1

ios推流功能

image.png

直播时:

直播列表:接口来源、功能(筛选维度、数据结构等)

{
    "OnlineInfo":{
        "LiveStreamOnlineInfo":[{
            "AppName":"xchen",
            "DomainName":"test101.cdnpe.com",
            "PublishTime":"2015-12-02T06:58:04Z",
            "PublishUrl":"rtmp://test101.cdnpe.com/xchen",
            "StreamName":"testxchen"
        }]
    },
    "PageNum":2,
    "PageSize":10,
    "RequestId":"0D70427D-91E4-4349-AAD3-5511A5BB823B",
    "TotalNum":11,
    "TotalPage":2
}

2. 直播后

统计(播放进度、播放量等)

image

通过直播控制台查看

独立访客数:统计当前域名下一定时间段内独立请求的IP次数。

用户分布:观看视频用户所在地域分布。

域名排名:各个加速域名的访问排名。

不录制:直播结束

录制 :生成直播文件,整个直播或者直播的某个精彩片段

使用VOD :调用AddLiveRecordVodConfig增加直播录制转点播配置,将录制内容保存到点播媒资库。

使用OSS :

视频直播服务支持将接收到的源视频流进行录制,支持mp4、flv 格式,也支持周期录制时长的配置,视频文件会保存至您指定的OSS存储位置。在一次推流结束时,自动生成索引文件(m3u8文件、mp4文件、flv文件)。

录制结束:

生成直播时视频(需要开通点播功能,主动推送播放)

四、腾讯云直播终端开发

SDK集成

摄像头推流

录屏推流

直播拉流

高级功能

连麦互动

AI变脸和挂件

设定画面质量

  • 使用 TXLivePusher 提供的 setVideoQuality 接口(推荐)
  • 使用 TXLivePushConfig 中的音视频编码参数

自定义采集和渲染

  • 定制推流画面
  • 定制播放数据

SDK指标监控

可根据监控数据定位直播中出现的问题

禁播和流管理

对在线流、历史流、禁推流进行管理

录制和回看

用户整个直播过程录制下来,然后作为点播视频用于回看

功能扩展

点赞: 后台进行统计 参考链接

评论(弹幕):登录验证,结合群聊或者聊天室功能 参考链接

刷礼物:(后台统计,计算,排名,持久化) 参考链接

商品链接:用户可根据本次直播目的进行选择商品类型,提供直播间商品列表(直播过程修改信息,根据库存,或主动修改)

关注:将StreamName和用户唯一标识进行关联

分享:直播间(二维码,房间号,生成海报),分享商品,可通过评论分享链接或者其他方式进行分享

如何查看正在直播的流:可定时查询,返回列表 参考链接

附:

小程序直播带货Demo:参考链接

小程序直播:用户发送弹幕,点赞,送礼,进入和退出直播间,关注或取消主播需要引入主播带货IM 参考

互动直播解决方案参考链接

小直播参考链接

优质博客:

  • https://cloud.tencent.com/developer/article/1666026
  • https://cloud.tencent.com/developer/article/1666050

用户是否可以自己开直播?

用户需要通过实名认证。向后台申请直播间(大致思路)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4fQQxE6Z-1604992792160)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201110144926636.png)]

五、播放终端开发

1、播放终端sdk相关功能说明

image.png

提供Web和移动端(iOS\Android)的标准播放器SDK

直播转点播是将直播流同步录制为点播视频,并支持媒资管理、媒体处理(转码及内容审核/智能首图等AI处理)、内容制作(云剪辑)、CDN分发加速等一系列操作。

接入方式

视频直播服务将直播内容进行录制存储,并转入点播系统中进行管理。

在一个直播加速域名下,直播录制配置按直播推流的 AppName 和 StreamName 进行区分,即相同 AppName 和 StreamName 下的视频流(Stream)都按此 AppName 和 StreamName 下的录制配置进行录制。

注:录制配置中转码模板与合成模板相关问题,可参考 直转点录制配置

上述准备工作完成后,即可开始进行接入

说明:为了避免录制时,因网络抖动或临时断流而导致录制文件被异常截断,系统会延迟断流180s,即如果断流之后在180s内重新推流,系统会默认是同一路录制流,超过180s则认为是两路录制流。

查询录制的视频列表

控制台查看

  • 点播控制台 ,视频来源点击“视频录制”按钮,并进行查询,如下:image
  • 也可以在直播控制台- 录制文件管理 处,根据appname与streamname进行查询,如下:image

录制回调

点播系统会在直播录制时候进行回调通知,用户可以通过该方式,获取新增的录制视频。详情可参考 AddLiveRecordVideoComplete事件通知

接口查询

点播为用户提供了查询接口,用户可根据域名、APP名称、流名称来获取所需要的视频列表,详情可参考: 获取直转点视频列表

直转点优势

比起传统的录制到用户存储,录制到点播系统具有以下优势:

  • 一站式的视频生产:录制到点播同时支持自动进行转码+CDN分发等操作,提供一站式视频生产流程

  • 丰富的媒资管理:点播以视频维度进行录制视频管理,提供丰富的媒资管理属性,便于扩展

  • 强大的内容制作能力:利用点播的云剪辑等能力,可对录制的视频进行在线云剪辑,免去传统的制作流程

  • 智能审核、AI等媒体处理:基于强大的AI能力,对视频进行智能审核、智能首图、视频DNA等处理

播放时:

不属于直播流的范畴,需要的功能后期集成

点赞:处理方式(第三方、后端、SDK、功能设计)

评论:形式(自带、集成第三方等)

刷礼物:形式、修改

商品链接:写死、直播过程替换、替换后通知主动/被动

收藏:

分享:形式、内容

弹幕:

……

聊天室:

IM:

六、腾讯云录播

录播 vs 直播

  • 时间的固定性
  • 互动要求不同
  • 课程成本不同(设计,重复录制,剪辑)

直播录制:将直播原始流经过转音视频封装(不修改音频、视频数据以及对应的时间戳等信息)得到的文件存储到点播平台的服务。

云直播提供将直播画面进行录制并将文件存储到云点播中,可通过云点播对录制视频进行下载、预览等处理

使用场景

使用场景说明
按推流域名、流名称多级别录制您可以在推流域名、流名称级别配置是否需要录制。
按指定时间段录制您可以通过调用 API 控制录制的开始与结束时间,在您指定的时间内进行录制。
精彩视频录制在推流过程中碰到精彩画面,您可以通过调用 API 实时产生录制。
纯音频录制若推流为纯音频,您可以配置 AAC 纯音频录制。

格式

录制文件格式支持:FLV/HLS/MP4/AAC,其中 AAC 为纯音频录制。

准备工作

申请开通 云点播服务

创建录制模板配置

录制

直播录制方式 参考链接

  1. 为指定推流域名下的所有直播开启录制

    对某个推流域名下所有的直播流开启录制

  2. 同一推流下部分流不开启录制

    在1的基础上,某个推流域名配置了录制,但是此域名下存在个别推流因业务原因不需要录制吗,调用 api CreateLiveRecordTemplate,且不指定任何录制格式。

  3. 指定时间录制

    在指定开始时间启动录制,并在指定结束时间结束录制,不需要绑定录制模板,通过挨批调用创建 CreateRecordTask,建议提前创建录制任务。

  4. 精彩视频录制

    推流过程中开启录制,调用api StopRecordTask结束,最长30分钟,支持海外。

  5. 混流录制

    适用于使用了直播云端混流业务的场景

  6. 自动拼接录制

    多次推流续流录制,以自动拼接录制的方式将短时间中断的多次推流录制成一个文件。设置推流中断自动拼接时间(最大30分钟),在最后一次正常推流结束后,会自动拼接断流时间内的内容并生成 HLS 录制文件。

存储

直播录制将文件存放于点播平台(录制文件文件名称命名规则参见: 录制模板参数-VodFileName

获取录制文件

接收事件通知

目前直播事件触发消息通知支持事件包括:

  • 直播推流
  • 直播断流
  • 直播录制
  • 直播截图
  • 直播鉴黄

当域名关联模板事件触发时,腾讯云会主动发送请求到客户端服务器,客户服务器负责应答请求。验证通过后,您可被动获取到含直播事件回调信息的 JSON 数据包。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qI0DTCoR-1604992792171)(https://cdn.nlark.com/yuque/0/2020/svg/2009943/1604657722951-c62d0300-30da-4e0d-b7e4-1e747740c65e.svg)]

回调配置主要通过两种方式实现:

  • 云直播控制台:【功能模板】->【回调配置】,创建回调模板。然后在【域名管理】关联推流域名与回掉模板
  • 服务端api:
    1. 调用 CreateLiveCallbackTemplate 创建回调模板接口,设置您需要的回调参数信息。
    2. 调用 CreateLiveCallbackRule 创建回调规则,设置参数推流域名 DomainName 和 TemplateId(第1步返回),填写与推流和播放地址中一致的 AppName,实现部分直播流开启回调的效果。

注意事项:

  • 若同一直播流,配置录制模板的同时创建了录制任务,会导致重复录制。
  • 推流发起后启动录制会有短暂延迟,所以推流时间过短会导致无法生成录制文件,建议推流时间最少为10秒钟
  • 在更新完录制配置之后,重新推流并对配置进行验证
  • 配置作用时间是在直播推流开始时刻,录制过程中不更新配置

播放器

直播播放器和点播播放器均使用播放器版SDK:https://cloud.tencent.com/document/product/647/32689

分类

  • 基础播放器:短视频场景

    • 短视频社交平台
    • 电商购物平台
    • 微信公众号中的短片
  • 超级播放器:长视频播放和视频加密播放场景

    • 视频媒体平台
    • 在线教育网站
    • 网络电视平台

超级播放器播放功能列表

  • 通过手势操作,调节亮度、声音、进度等
  • 可以手动切换不同的清晰度,也可根据网络带宽自适应选择清晰度
  • 可以指定不同倍速播放,并开启镜像和硬件加速。
  • 可以在进度条上添加打点信息,并展示缩略图做预览。

完整功能列表,参照 点播超级播放器 - 能力清单

超级播放器Android

超级播放器iOS

https://cloud.tencent.com/document/product/266/9237

超级播放器Web

image.png

视频发布格式为 MP4 和 HLS(M3U8)格式。

功能列表

  • 播放器尺寸设置
  • 续播功能

image

  • 倍速播放
  • 缩略图预览

image

  • 切换fileId播放
  • 镜像功能

image

  • 进度条标记

image

  • HLS自适应码率播放
  • image
  • Referer防盗链
  • Key防盗链
  • 试看功能
  • HLS加密播放
  • 视频统计信息

image

  • 自定义提示文案

七、使用场景

文娱互动

  • 秀场直播
    唱吧直播,脱口秀。
  • UGC视频
    生活,娱乐直播,视频交友。
  • 游戏直播
    游戏赛事

教育

  • 企业培训
    企事业单位,集团公司跨地域培训。
  • 专业教育
    K12教育,成人学历培训。

电商

  • 商城直播
    产品介绍,晒单分享,最大化完成售卖转化。
  • 微商互动
    “直播+互动“的模式,通过社交传播,助力商品快速变。

金融

  • 证券、期货
    行情解读,投资者教育。
  • 保险行业
    代理人培训,保险产品禅说会。
  • 银行
    理财产品介绍和说明,理财客户进行培训,外汇行情解读。

专业

  • 体育赛事
    大型体育赛事,竞技活动。
  • 新闻媒体
    广播,电视媒体行业。