直播系统介绍_第1页
直播系统介绍_第2页
直播系统介绍_第3页
直播系统介绍_第4页
直播系统介绍_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

直播系统介绍 基础介绍 目录 直播业务介绍多媒体基础知识整体架构客户问题和线上问题处理流程 直播业务介绍 业务现状 大客户熊猫tv快手B站触手陌陌繁星花椒 业务量级直播行业三分之一带宽宇宙第一大主播pdd高速增长详情请看朋友圈 直播业务介绍 场景 PC秀场9158 来风 奇秀等等http x pps tv 推流用flash或者定制的推流软件 流不标准 推流和观看都是rtmp协议码率较低 500kbps左右 主要是主播通过字幕互动 对延时敏感游戏直播斗鱼 熊猫 龙珠 战旗等推流一般使用OBS rtmp推流 流很标准 主播的网络一般非常稳定 电信联通占了绝大多数 很多是专线或者开了上行的 主流是使用http flv的形式播放码率较高 1 5 2Mbps左右 对卡顿极其敏感 延时其次 主播和观众互动少于秀场类对CDN有很强的依赖 包括相关API 截图 转码 水印等手机直播映客 花椒 17等主播通过手机推流 流格式App自己封装 会有流不标准 相对来说网络不稳定 各种运营商都会碰到对开播速度 延时 卡顿等都有较高要求 对转点播有比较多需求电视直播云图 百视通 cutv等使用hls协议 用户有源站 CDN实时回源 直播业务介绍 功能需求 转码转点播截图 主要是视频H 264的码率转换 音频一般不降码率目前我们也有转H 265的能力 把直播的内容实时录制下来 在直播结束后 直接转为可拖拽的点播视频 提供点播url游戏直播相对偏少 手机类直播需求很大 对视频流定时截图 间隔在一分钟以内主要使用在 房间的缩略图上 定时刷新界面 让用户看到当前直播的内容用来给业务方的运营人员做内容监控 黄反过滤 直播业务介绍 功能需求 推流和断流事件通知禁播接口直播流人数查询接口 回调客户的相关系统 需要我们的流程高可靠 同时对客户接口做好监控和重试客户使用该接口判断直播间状态客户通过该接口来计算主播的播出时长 给主播结算费用 主要用于黄反等内容审核需要接口高可靠 能秒级全网禁流 主要用于直播间在线数和人气计算对主播万分重要 数字非常敏感 要求接口尽量实时 30s 同时不能有数据错乱 直播业务介绍 接入模式 直播数据流可通过客户推流或拉流两种形式接入CDN 以适应不同用户的不同业务需求 拉流模式是一种被动下拉方式 通常由节点向源站请求驱动 节点从内容源站拉取直播数据 支持RTMP HDL的拉流 应用场景 当客户可提供源服务器时 支持直接从源服务器拉取直播数据流 推流模式是一种主动推送方式 通常由源站主动向CDN节点发起 将直播数据主动推送至CDN节点 支持RTMP的推流 应用场景 当客户无法提供源服务器时或者由于业务场景不适合提供源站服务器 可提供 源服务器 服务 并支持使用第三方推流软件推送过来的直播流数据 对于同一个直播频道 仅同时允许一个编码器或下游推入直播流 超出的推流器将被拒绝 直至当前的推流器停止中断 另一个推流工具方可进行推送 直播业务介绍 质量评测 熊猫斗鱼卡顿率 卡顿人数 播放人数 卡顿比 卡顿次数 播放次数 触手 每5分钟采样 每日求平均卡顿率定义 卡顿人数 观看人数 直播业务介绍 质量评测 战旗5分钟卡顿率全天卡顿率 以每次用户播放为分母 播放时长内卡顿一次 就计算为卡顿用户 所以日报会高于5分钟的数据统计 芒果5分钟错误率5分钟卡顿率云图 百视通首播时间超时率 12s未拉到数据 错误率卡顿率 多媒体基础 关键帧 流媒体又叫流式媒体 是把连续的影像和声音信息经过压缩处理后放在网站服务器上 经过网络传输到终端用户上 播放器通过解压设备对这些数据进行解压后 节目就会像发送前那样显示出来 帧是视频的基本组成单元 一帧就是一副静止的图片 有可能是压缩过的 也可能是没有压缩的 连续的帧就形成动画 如电视图象等 关键帧 又叫I帧 帧内编码帧 是一种自带全部信息的独立帧 无需参考其它图像便可独立进行解码 视频序列中的第一个帧始终都是I帧 视频拖拉必须从关键帧开始 I帧间隔GOPCache 多媒体基础 帧率和分辨率 帧率 也称为FPS FramesPerSecond 的缩写 帧 秒 是指每秒钟传输的图片的帧数 快速连续地显示帧便形成了运动的假象 要生成平滑连贯的动画效果 帧速率一般不小于8 电影的帧速率一般为24fps 分辨率 resolution 就是屏幕图像的精密度 是指显示器所能显示的像素的多少 由于屏幕上的点 线和面都是由像素组成的 多媒体基础 码率 固定码率CBR ConstantBitrate 指文件从头到尾都是一种码率 这是以固定文件大小为前提的压缩方式 动态码率VBR VariableBitrate 指没有固定的码率 压缩时根据视音频数据即时确定使用什么码率 这是以质量为前提兼顾文件大小的压缩方式 用比较多的码字对复杂度高的段进行编码 用比较少的码字对复杂度低的段进行编码 平均码率ABR AverageBitrate 通常是指数字音乐或者视频的平均码率 例如如果说一个MP3文件的平均码率是128kbps 就是说 平均每秒有128 000bit被传输 解码 流媒体基础 编码 流媒体基础 编码 流媒体基础 封装格式 封装格式 也叫容器 就是将已经编码压缩好的视频轨和音频轨按照一定的格式封装到一个文件中 也就是说仅仅是一个外壳 可当成一个存放视频轨和音频轨的容器 常见的AVI RMVB MKV ASF WMV MP4 3GP FLV TS等文件其实只能算是一种封装标准 流媒体基础 传输协议 直播基础服务 直播相关的服务流媒体服务器simple rtmp server fms rtmp nginx等等调度服务nginx go redis集群等运营平台php html 前端 mysql 监控等截图转码事件ffmpeg 编解码 整体架构 基础模块 调度 HTTP调度 绑定到调度服务器IP 用户的请求都是先到调度服务器 然后302跳转或者直接返回ip调度结果DNS调度 DNS 授权给调度服务器的DNS模块 调度服务器根据用户请动态返回A记录 基础模块 流媒体Server SRS Wiki地址 代码地址 基础模块 功能 推流分发模块RtmpServer RtmpClient回源模块RtmpClient HttpClient转发模块ForwardAPI接口控制Hook回调接口日志模块 功能模块介绍 推流分发模块RtmpServer RtmpClient收发客户端推上来的音视频数据 分发给播放器 客户端数据回源模块RtmpClient HttpClient回源站或者客户源拉去数据 使用http rtmp协议转发模块Forward从客户端推流上来的数据或者回源回来的数据转推到别的服务器API接口控制客户主动调用 查询 禁流等操作 功能模块介绍 Hook回调接口事件通知 鉴权 数据统计等日志模块 提供研发定位问题 日志采集 分析各种数据等 SRS工作流程 开始 初始化 main init 等待各种连接 wait 连接 pushstream 播放rtmp http flv http hls 源站 是源站 而且该URL的流名没有 保存source 反之 启动线程 推流给源站 如果有该流 播放 是源站 且没有流 等待 边缘直接启动回源线程 去源站拉去数据 和rtmp的一样 只不过把rtmp的打包成flv格式的tag包发送或者打包成ts文件流格式发送 服务器之间都是rtmp协议交互的 源站 需要考虑的问题 本质是保障传输速率第一跳 主播到cdn内部传输最后一跳 cdn到观众兼容性成本多线 BGP带宽普通IDC带宽内部传输消耗设备成本 设备 机房变更 节点割接边缘区域中心源运营服务 网络波动 特定节点丢包机房到机房之间丢包机房整体丢包 业务监控 丢包监控存活告警回源监测客户数据带宽情况帧率数据 业务排障 卡顿 业务排障 推流失败 推流域名是否能正常解析对应推流点服务是否正常用ffmpeg推一路测试流 是否能正常播放推流链接是否有误 业务排障 黑屏 播放StreamTool工具定位metadata是否正常是否有视

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论