• 我们中的有些人,注定要在日常生活的点滴中去寻找生命的意义。---- 《生活大爆炸》|

直播功能简介及架构介绍

未分类 admin 5个月前 (03-23) 128次浏览 已收录 0个评论

直播流程

一个完整直播app流程:把主播录制的视频,推送到服务器,再由服务器分发给观众观看。

​ 直播环节:推流端(采集、美颜处理、编码、推流)

​ 服务端处理:(转码、录制、截图、鉴黄)

​ 播放器:(拉流、解码、渲染)

​ 互动系统:(聊天室、礼物系统、赞)

一个完整直播app功能(来自落影loyinglin分享)

  • 1、聊天
    • 私聊、聊天室、点亮、推送、黑名单等;
  • 2、礼物
    • 普通礼物、豪华礼物、红包、排行榜、第三方充值、内购、礼物动态更新、提现等;
  • 3、直播列表
    • 关注、热门、最新、分类直播用户列表等;
  • 4、自己直播
    • 录制、推流、解码、播放、美颜、心跳、后台切换、主播对管理员操作、管理员对用户等;
  • 5、房间逻辑
    • 创建房间、进入房间、退出房间、关闭房间、切换房间、房间管理员设置、房间用户列表等;
  • 6、用户逻辑
    • 普通登陆、第三方登陆、注册、搜索、修改个人信息、关注列表、粉丝列表、忘记密码、查看个人信息、收入榜、关注和取关、检索等;
  • 7、观看直播
    • 聊天信息、滚屏弹幕、礼物显示、加载界面等;
  • 8、统计
    • APP业务统计、第三方统计等;
  • 9、超管
    • 禁播、隐藏、审核等;

完整实现流程:

​ 1. 采集 2. 滤镜处理 3. 编码 4. 推流 5. CDN分发 6. 拉流 7. 解码 8. 播放 9. 聊天互动

​ 【简单理解:采集 –> 编码 –> 推流 –> 流媒体服务器 –> 拉流 –> 解码 –> 播放】


采集端流程【向服务器端获取推流地址】

  • 音视频采集
  • 音视频处理(美颜、水印)
  • 音视频编码压缩
  • 封装音视频FLV/TS

对应【主播】【通过RTMP推流】

  • AVFoundation 框架:数据
  • GPUimage 框架:美颜
  • FFmpeg 框架:音频压缩
  • X264 框架:视频压缩
  • libremp 框架:推流

服务端流程 【播放端会向服务端获取拉流地址URL】

  • 数据分发CDN
  • 鉴黄
  • 截屏:展示主播画面
  • 录制视频
  • 实时转码

对应 【流媒体服务器】

  • 常用服务器
  • SNS
  • vBMS
  • nginx

播放端流程

  • 从FLV/TS中分离出音视频数据
  • 音视频解码
  • 播放
  • 聊天互动

对应【播放端】【拉流、RTMP/FLV/HLS】

  • ijkplayer 框架:播放
  • FFmpeg 框架:视频解码
  • VideoToolBox:视频硬解码
  • AudioToolBox:音频硬解码

一个完整直播app架构

一个完整直播app技术点


本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:直播功能简介及架构介绍
喜欢 (0)

您必须 登录 才能发表评论!