前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >No.181# 点直播简要架构梳理走查

No.181# 点直播简要架构梳理走查

作者头像
瓜农老梁
发布2023-02-23 16:37:07
5380
发布2023-02-23 16:37:07
举报
文章被收录于专栏:瓜农老梁

引言

直播带货、潮流电商、短视频不断融合,本文走查下音视频直播的简要架构和角色。

选择UDP,注重传输实时性,在线教育、音视频会议等。

选择TCP,注重画面质量、是否卡顿等,娱乐直播、直播带货等。

本文主要内容有:

  • 音视频直播架构
  • 点直播服务器搭建
  • CDN内容分发网络

一、音视频直播架构

下图为音视频直播架构简图。

1、涉及的角色

直播客户端(主播)

  • 功能主要包括音视频数据的采集、编码、推流
  • 从摄像头、麦克风采集数据,并对数据进行编码后通过RTMP协议发送给CDN源节点

直播客户端(观众)

  • 功能主要包括拉流、解码、播放
  • 从直播系统获取房间流媒体地址
  • 通过RTMP协议从CDN边缘节点获取数据、解码、渲染

信令服务器

  • 接受指令并处理业务逻辑,创建房间、加入房间、送礼物等

CND网络

  • 内容分发网络(Content Delivery Network)
  • 利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序等发送给用户来提供高性能
  • 提供异地备援,100%的高可用性

2、传输协议

RTMP协议

  • 实时消息传输协议,Real Time Messaging Protocol的缩写
  • 最初由Macromedia为通过互联网在Flash播放器与一个服务器之间传输流媒体音频、视频和数据而开发的一个专有协议
  • 基于TCP,默认使用1935端口的“明文”协议

HLS协议

  • 苹果公司提出基于HTTP的流媒体网络传输协议,HTTP Live Streaming的缩写
  • 工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些
  • HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防火墙或者代理服务器
  • 根据客户端带宽情况自适应调整码率,例如使用FFmpeg可以将视屏文件转换为HLS切片

3、整体流程

  • 直播客户端(主播)向信令服务器发起信令创建直播间
  • 信令服务器收到指令后返回CDN源站推流地址
  • 直播客户端(主播)通过音/视频采集设备采集数据后编码、通过RTMP协议发送给CDN网络
  • 直播客户端(观众)向信令服务器发起信令加入直播间
  • 信令服务器收到指令后向客户端(观众)推送其附近的CND边缘节点地址
  • 直播客户端(观众)收到地址后使用RTMP/HLS协议拉取直播数据

二、点直播服务器搭建

下面两种方式比较快速搭建点直播服务器。

方式一

  • 使用Nginx+RTMP 推拉流插件
  • Nginx RTMP Module支持RTMP/HLS/MPEG-DASH 协议
代码语言:javascript
复制
https://github.com/arut/nginx-rtmp-module
https://nginx.org/download/

方式二

  • 使用开源SRS服务器
  • SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181
代码语言:javascript
复制
https://ossrs.net/lts/zh-cn/docs/v4/doc/introduction

三、CDN内容分发网络

CDN内容分发网络(Content Distribution Network)是指一种透过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。

  • 提高网页加载速度
  • 提高文件下载速度
  • 提高视频播放速度
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 瓜农老梁 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、涉及的角色
  • 2、传输协议
  • 3、整体流程
  • 方式一
  • 方式二
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档