Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >手机直播连麦技术分析

手机直播连麦技术分析

作者头像
xiangzhihong
发布于 2018-02-05 07:09:46
发布于 2018-02-05 07:09:46
6.8K0
举报
文章被收录于专栏:向治洪向治洪

直播火了,连麦直播也火了,那么说明是直播,连麦直播是什么。

手机直播连麦功能的特点,我们按下面三部分来聊一聊手机直播和直播连麦

  • 手机直播连麦功能的特点
  • 人物画像和设计思维
  • 一个有趣的连麦功能交互建议

手机直播连麦功能的特点

体验了斗鱼、NOW直播、美拍直播、淘宝直播、新浪直播、映客、me直播等直播平台、发现只有映客和me直播推出了手机直播的连麦功能。

我们从以下三点来展开分析直播连麦的特点:

  1. 连麦功能的权限
  2. 连麦人数和显示位置
  3. 连麦交互流程

连麦权限

ME直播的连麦功能是没有权限设定的,所有的主播和观众都可以进行连麦,连麦的icon在直播页面的明显位置,很容易被发现,因此在ME直播的很多房间里,都可以看到主播与粉丝连线的画面。但看多了你会发现,能跟主播连线互动的要么是其他主播,要么是送礼物多的粉丝。

而映客的连麦功能是有权限设定的,并且门槛比较高,要求百万映票、等级80以上以及紫V认证的用户才能进行连线互动。这从某个方便来说对于质量上有了提高。

连麦人数和显示位置

ME直播只能单人连线,位置在屏幕右下方,相对不怎么遮挡视线。映客可以单人连线,也可以同时连线2个人。至于这个技术怎么实现的,后面会详细聊到。

连麦交互流程

ME直播的交互流程是每个人都可以体验到的,分为三个视角:发起连线人视角、主播视角、普通观众视角。通过不同的分级和角色实现不同的角色连接。

说了这么多,那这种技术具体怎么做的呢,这是我们做技术的需要关注的。首先来看一下直播的原理图:

正如上图所示,整个直播流程分为以下几个关键步骤: 1、主播客户端,将本地采集的视频推送到CDN; 2、CDN对视频流进行缓存以及转发; 3、观众客户端,拉取CDN中缓存视频流进行播放;

这其中最核心的就是CDN了,那神马事CDN呢?

CDN技术原理

CDN的全称为Content Delivery Network,即内容分发网络,是一个策略性部署的整体系统,主要用来解决由于网络带宽小、用户访问量大、网点分布不均匀等导致用户访问网站速度慢的问题。这中间就有了很多的CDN节点,简单一点理解就相当于我们开始学习计算机选择网络。具体实现是通过在现有的网络中,增加一层新的网络架构,将网站的内容发布到离用户最近的网络节点上,这样用户可以就近获取所需的内容,解决之前网络拥塞、访问延迟高的问题,提高用户体验。

上图中,不同的流媒体走的节点和协议做了区分,网络拥塞减少,访问延迟降低,带宽得到良好的控制等等。 CDN直播中常用的流媒体协议包括RTMP,HLS,HTTP FLV等。

RTMP(Real Time Messaging Protocol)是基于TCP的,由Adobe公司为Flash播放器和服务器之间音频、视频传输开发的开放协议。 HLS(HTTP Live Streaming)是基于HTTP的,是Apple公司开放的音视频传输协议。 HTTP FLV则是将RTMP封装在HTTP协议之上的,可以更好的穿透防火墙等。

CDN的常用架构

CDN架构设计比较复杂。不同的CDN厂商,也在对其架构进行不断的优化,所以架构不能统一而论。这里只是对一些基本的架构进行简单的剖析。

CDN主要包含:源站、缓存服务器、智能DNS、客户端等几个主要组成部分。

源站:是指发布内容的原始站点。添加、删除和更改网站的文件,都是在源站上进行的;另外缓存服务器所抓取的对象也全部来自于源站。对于直播来说,源站为主播客户端。

缓存服务器:是直接提供给用户访问的站点资源,由一台或数台服务器组成;当用户发起访问时,他的访问请求被智能DNS定位到离他较近的缓存服务器。如果用户所请求的内容刚好在缓存里面,则直接把内容返还给用户;如果访问所需的内容没有被缓存,则缓存服务器向邻近的缓存服务器或直接向源站抓取内容,然后再返还给用户。

智能DNS:是整个CDN技术的核心,它主要根据用户的来源,以及当前缓存服务器的负载情况等,将其访问请求指向离用户比较近且负载较小的缓存服务器。通过智能DNS解析,让用户访问同服务商下、负载较小的服务器,可以消除网络访问慢的问题,达到加速作用。

客户端:即发起访问的普通用户。对于直播来说,就是观众客户端,例如手机客户端,PC客户端。

用图表示如下:

整个流程描述如下:

主播开始进行直播,向智能DNS发送解析请求; 智能DNS返回最优CDN节点IP地址; 主播端采集音视频数据,发送给CDN节点,CDN节点进行缓存等处理; 观众端要观看此主播的视频,向智能DNS发送解析请求; 智能DNS返回最优CDN节点IP地址; 观众端向CDN节点请求音视频数据; CDN节点同步其他节点的音视频数据; CDN节点将音视频数据发送给观众端;

采用CDN的缺点

大概了解了CDN的技术原理后,我们在做直播选型时,还需要了解一个方案优缺点。接下来,我们来分析一下CDN的短板。

总结一下主要有如下短板:

播放延时(网络延时)

网络延时这里指的是从主播端采集,到观众端播放,这之间的时间差。这里不考虑主播段采集对视频进行编码的时间,以及观众端观看对视频进行解码的时间,仅考虑网络传输中的延时。例如说下图中的网络延时:

网络抖动

网络抖动,是指数据包的到达顺序、间隔和发出时不一致。比如说,发送100个数据包,每个包间隔1s发出。结果第27个包在传输过程中遇到网络拥塞,造成包27不是紧跟着26到达的,而是延迟到87后面才达。在直播中,这种抖动的效果实际上跟丢包是一样的。因为你不能依照接收顺序把内容播放出来,否则会造成失真。网络抖动,会造成播放延时对应增大。如果网络中抖动较大,会造成播放卡顿等现象。这个之前在云计算上都不是什么难事。

网络丢包

CDN直播中用到的RTMP、HLS、HTTP FLV等协议都是在TCP的基础之上。TCP一个很重要的特性是可靠性,即不会发生数据丢失的问题。为了保证可靠性,TCP在传输过程中有3次握手,见下图。首先客户端会向服务端发送连接请求,服务端同意后,客户端会确认这次连接。这就是3次握手。接着,客户端就开始发送数据,每次发送一批数据,得到服务端的“收到“确认后,继续发送下一批。TCP为了保证传到,会有自动重传机制。如果传输中发生了丢包,没有收到对端发出的“收到”信号,那么就会自动重传丢失的包,一直到超时。

由于互联网的网络状况是变化的,以及主播端的网络状况是无法控制的。所以当网络中丢包率开始升高时,重传会导致延时会不断增大,甚至导致不断尝试重连等情况,这样不能有效的缓存,严重情况下会导致观众端视频无法观看。

连麦

直播中,主播如果要与用户交互,常见有两种方式: 第一种方式:文字,这种比较常见,实现也比较简单,这里不再进行分析;这种比较简单 第二种方式:连麦,这样主播可以面对面与观众进行交互,增加了互动性;这种最网络的要求更高。

所以为了解决上面的问题,出现了RTMP协议。

RTMP是目前主播中最常用的协议,使用RTMP协议,可以实现最简单的一种连麦方式,当有连麦者时,则主播端和连麦者端,都分别推一路RTMP流到CDN,CDN再将这两路RTMP流发送给观众端,观众端将两路RTMP流合成为一个画面。

解决连麦的第二种方式是:

主播端与连麦者之间使用P2P方式进行交互,然后主播端将自己和连麦者的视频进行合并,再推到CDN上,CDN再发送给观众端。

不过P2P在某些网络下无法穿透,有些观众根本无法与主播端进行交互; 主播端需要上传两路视频:一路P2P与连麦者进行交互,一路使用RTMP推到CDN。还要下载一路视频:连麦者P2P发送过来的交互数据。所以主播端要求带宽需要较高,网络较差时无法进行主播 主播端要进行多路视频的编码、解码,要求主播端设备配置比较高,较差的设备也无法进行主播; 只能支持一个连麦者,不能支持多个连麦者; 由于主播端和连麦者经过CDN合并成一路,因此,不能实现主播端和连麦者视频大小窗口切换。

还有一种方式就是通过CDn中转:

是主播和连麦者都将视频推送到CDN中,然后CDN内部对这几路视频进行合图,再将其发送给观众端。

主播和连麦者各路视频都使用RTMP推送到CDN,可以保证延时较小; 由于CDN进行视频合图和发送,所以主播不需要很高的带宽; 由于CDN进行视频合图,所以主播的设备不需要配置非常高; 没有声音干扰问题; 可以支持多个连麦者连麦;

不过,CDN需要进行视频的合图,需要额外开发工作,并且逻辑比较复杂; CDN需要进行视频的合图,需要消耗较高服务器资源; CDN合图后的布局难控制; 所以对CDN要求奇高;

在实际的网络直播中,我们常常会加入直播质量的监控,这里做了完备的数据上报及分析系统,基本上涵盖了各种关键性指标,既能反应直播的各种性能方便优化,同时也能辅助定位各种问题;这个是播放端的整体统计数据,下行带宽、卡顿率、缓冲大小、CPU占用率,这是一个宏观统计数据,反应了当前直播观看端的一个质量。有了直播质量监控,更精细一些我们可以做一些运营分析

基于上面的问题,有人提出了基于SD-RTN的解决方案,有兴趣的可以去搜一下。

客户端均通过UDP连接SD-RTN(Agora Global Network),通过SD-RTN的就近接入策略,让使用者就近接入质量最好的数据节点,通过Agora Global Network的软件定义优化路由,经过传输延迟和质量优化的最优路径,自动避免网络拥塞,并规避骨干网络故障的影响。

采用SD-RTN做直播有如下特点:

1、可以支持更多的主播交互,目前支持7人视频交互,100人语音交互。 2、当有观众连麦时,其他观众端收到的多路视频,观众端可以动态选择布局; 3、声网Agora.io会将直播视频推送到CDN,其他观众(网页端等)可以直接观看; 4、当有观众连麦时,声网Agora.io会将视频合图后推送到CDN,其他观众(网页端等)可以观看到连麦者与主播的互动; 5、在经过RTMP推流前的观众端,可以进行大小流切换,自主选择视频大小窗口的切换。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-11-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
视频直播连麦技术详解「建议收藏」
云帆加速自成立以来就一直致力于流媒体领域企业服务,尤其对于直播,目前已经推出了针对于不同场景的直播云解决方案,在保证广大用户使用体验的前提下,为客户节省更多的研发成本。无论是传统企业转型,或者是创业企业,云帆加速都将为其直播化提供针对性的解决方案。目前云帆加速已经与流媒体领域50+行业top级客户建立合作关系,并提供服务。
全栈程序员站长
2022/09/15
5.5K0
视频直播连麦技术详解「建议收藏」
蒋磊:移动直播连麦技术实践
6月29日,音视频及融合通信技术技术沙龙圆满落幕。本期沙龙特邀请腾讯云技术专家分享关于最新的低延迟技术、全新的商业直播方案等话题,针对腾讯云音视频及融合通信产品的技术全面剖析,为大家带来纯干货的技术分享。下面是蒋磊老师关于直播的一些分类以及连麦直播需要解决的四类问题进行了总结与分享。
腾讯云开发者社区技术沙龙
2019/07/02
7.6K1
蒋磊:移动直播连麦技术实践
蒋磊:移动直播连麦技术实践(附视频回放)
6月29日,音视频及融合通信技术技术沙龙圆满落幕。本期沙龙特邀请腾讯云技术专家分享关于最新的低延迟技术、全新的商业直播方案等话题,针对腾讯云音视频及融合通信产品的技术全面剖析,为大家带来纯干货的技术分享。下面是蒋磊老师关于直播的一些分类以及连麦直播需要解决的四类问题进行了总结与分享。 讲师介绍: 蒋磊,腾讯云高级工程师,现任职于腾讯云终端研发中心,负责腾讯云视频服务客户端SDK的技术服务工作,曾先后就职于网易、阿里云,负责实时音视频、直播、点播、CDN、即时通信等业务相关技术工作,在音视频及IM业务的实际
腾讯云音视频
2019/07/05
4.5K0
蒋磊:移动直播连麦技术实践(附视频回放)
基于WebRTC的互动直播实践
大家好,我是叶峰峰,来自映客直播,从事实时音视频的开发工作大概有七八年时间了,在加入映客后,也参与了映客实时互动直播的开发过程。本次分享主要介绍映客互动直播开发过程中遇到的一些问题,以及对直播场景下互动直播的一些优化。
LiveVideoStack
2021/09/01
2.9K0
声网发布融合 CDN 直播:一个 SDK 拉通所有延迟等级的直播需求
2021年10月22日,由声网Agora主办的RTE2021实时互联网大会正式开幕,在22日下午的Product Channel,声网发布了全新直播产品“融合CDN直播”,可提供卡顿率低于 1% 的超流畅 CDN 直播服务,同时还提供All-in-one的SDK,最大程度降低开发者的开发门槛,开发者可以在一个SDK内,自由组合使用超低延时直播、低延时直播和标准 CDN 直播等各类功能,顺畅切换,这也标志着声网可以通过一个 SDK拉通所有延迟等级的直播需求。 在直播场景下,直播平台经常会同时使用RTC和CD
云头条
2022/03/18
1.5K0
【实战分享】直播连麦解决方案分析
直播带货最近一年来最火的业务了,但是长期以来,在直播间里都是以主播主动推流,观众被动拉流观看的方式维系一场直播。为了调动直播气氛,很多直播间也逐步开通了用户弹幕、点赞和行为提示等三大宝剑,从而达到主播和观众之间的互动反馈。的确这些功能都可以起到氛围烘托的作用,但是说到底仍然还是单向的数据交互。为了本质上提升互动性,还有这样的两个利器存在:
netkiddy
2020/10/28
6.6K0
【实战分享】直播连麦解决方案分析
一个极简SDK,即可让APP拥有直播功能
社交直播行业。声网Agora.io为陌陌、小米、脸萌等提供多人互动直播的服务,提升用户的粘性和社交活跃度,近期即将上线的大型群组直播,也能推动社交平台流量聚合。 实时互联网大会召开前夕,前YY(欢聚时
BestSDK
2018/02/27
2.3K0
一个极简SDK,即可让APP拥有直播功能
音视频面试题集锦 2022.05
1)如何根据 NALU 裸流数据来判断其是 H.264 编码还是 H.265 编码?
关键帧
2022/06/13
1.2K0
音视频面试题集锦 2022.05
CDN+P2P在大规模直播&实时直播的技术实践
大家好,我是爱奇艺的周志伟,今天会跟大家分享爱奇艺的HCDN直播,可能大家对爱奇艺比较了解,但是HCDN可能不是太清楚。HCDN在我们内部是一个部门的名称,也是一种技术方式,它是通过庞大的CDN网络和P2P网络为公司所有的产品提供视频服务,主要包括点播和直播两大部分,今天主要跟大家分享直播这一部分。我的分享大概由四大部分组成,首先是直播背景,接着会介绍大规模直播,也就是我们现在主要的直播方式,以及实时直播,最后做一些展望。
LiveVideoStack
2021/09/02
3.3K0
CDN+P2P在大规模直播&实时直播的技术实践
视频互动直播软件开发中的连麦问题分析
直播行业发展至今,我们经常会听到很多朋友谈论“互动直播”。那么何谓互动直播呢?其实互动直播的核心在于通过连麦技术,让视频直播有一个超过文字的更深层次的互动交流。
q3557873521
2019/04/10
2.4K0
腾讯云低延时直播系统架构设计与弱网优化实践
http://scrmtech.gensee.com/webcast/site/vod/play-6ced83f94af24094b6d8329948addb09
LiveVideoStack
2020/06/11
3.8K0
腾讯云低延时直播系统架构设计与弱网优化实践
移动直播连麦解决方案
最开始观看直播是主播在那边又唱又跳,而你想与女神互动,只能简单的刷刷弹幕送送礼物。直到有了连麦,你才能用音视频的方式和主播互动,让女神看到你的画面,一起诉说风花雪月。
腾讯视频云-Zachary
2019/09/07
6.6K0
移动直播连麦解决方案
教育互动直播,11年技术演进之殇
各位下午好,我是CC视频的唐通,先简单介绍一下CC视频,CC视频成立于2005年,实际上做视频领域已经整整11年了,我们公司的目标和愿景主要是为企业提供场景化的视频解决方案,这里面“场景化”就比较关键了,可能是因为我们深入到一些垂直的领域,比如说教育、金融、互联网,今天我主要会聊一些教育方面的,比如说我们在教育方面一些代表的客户,大家都熟知的像新东方、华图,还有类似高顿这样一些客户。
LiveVideoStack
2021/09/02
1.5K0
教育互动直播,11年技术演进之殇
基于WebRTC的低延迟视频直播
融云是一家全球互联网通信云平台,主要提供即时通讯、实时音视频相关业务,今天主要向大家介绍一下我们基于WebRTC的直播解决方案。
LiveVideoStack
2021/09/01
3.5K0
基于WebRTC的低延迟视频直播
视频直播技术干货(十一):超低延时视频直播技术的演进之路
新媒体互动直播已成为了广大网民最重要的休闲娱乐方式之一。丰富的传统文化、新闻、竞技体育、法律、知识共享等内容,通过移动端互动直播的形式得以更加高效的展现传播,既让优质的直播内容可以实现爆发式传播扩散,又可以让用户有更多的机会感受,学习甚至主动参与直播互动。超低延时视频直播技术正在走上一条全新的发展之路。
JackJiang
2024/01/04
1.6K0
视频直播技术干货(十一):超低延时视频直播技术的演进之路
视频直播技术干货(十三):B站实时视频直播技术实践和音视频知识入门
直播行业从传统的娱乐直播发展到教育直播、电商直播等形式,产生了很多新的玩法。传统的直播是一位主播展示才艺,观众通过弹幕、送礼物等方式进行互动。随着网络质量不断地提高,用户也对直播平台产生的新的要求,实时互动直播的场景就出现了,观众可以同时观看多位主播之间互动的画面,让直播间的气氛更好。B站直播的连麦PK、视频连线业务就提供了这个能力。主播看到的是对方主播实时的流(延迟400ms以内),而观众看到的是“准实时”的流(延迟2~5s左右)。
JackJiang
2025/03/06
4060
视频直播技术干货(十三):B站实时视频直播技术实践和音视频知识入门
云端混流转码--直播连麦技术解决方案
春运来了,在各地车站码头的年味就是回家的味道。无论人潮多拥挤、路途多艰辛,为了回到温暖的目的地——家,对于在外漂泊的游子来说,路上辛苦点又算什么。小编为旅途的游子们准备了一份新年礼物——云端混流转码。 随着直播业务的蓬勃发展,终端受众也并不仅仅满足于围观,希望能够参与主播的音视频对话中来,如现在在各个直播秀场App下所看到的的连麦互动,包括主播之间的才艺游戏恶搞PK等,它能有效的增强直播的趣味性,让观众获得更大的参与满足感。另外非娱乐场景下与此类似的有在线教育的师生交流问答、金融开户的客服视频见证通话
腾讯云音视频
2019/01/30
3.3K0
云端混流转码--直播连麦技术解决方案
视频直播基础知识
视频云,是以Paas服务模式,向开发者提供音视频编解码SDK和开放API,助力移动APP接入音视频功能,用户不需要后台开发和运维人员,就可以开发自己的视频网站或者移动APP应用。视频云主要使用的是流媒体技术,下面就来给大家介绍一下视频云相关的技术。
视频云直播helper
2019/02/22
8.4K0
视频直播基础知识
你想知道的直播技术都在这里了
概述 2016年基本上可以说一个直播年,各大互联网挣相进入直播行业,成就了直播技术的发展。之前我们也对直播连麦技术做了一个简单的分析,但是没有从整体上介绍,今天我们就组一个整体的介绍(本文部分资料来源于网络)。 我们先来看看视频直播的5个关键的流程:录制->编码->网络传输->解码->播放。每个环节对于直播的延迟都会产生不同程度的影响,这里重点分析移动设备的情况。针对移动场景总结出直播延迟优化的4个点:网络、协议、编解码、移动终端,达到UCloud直播云实现低延迟、秒开的技术细节。 直播技术分析 UCl
xiangzhihong
2018/02/06
3.3K0
你想知道的直播技术都在这里了
移动直播自由开播方案
主播自由开播(UGC + OGC)解决方案,是指主播可以随时拿起手机开始直播,映客、花椒、斗鱼、Now 等直播平台都是采用这种直播解决方案。由于LiteAVSDK的高解耦性,终端sdk只提供了TXLivePusher、TXLivePlayer的上行推流组件和下行拉流组件,自由开播方案需要您关注 房间管理 相关的逻辑,也就是维护一个所有用户可见的“直播间列表”。
腾讯云-chaoli
2019/09/08
2.5K0
移动直播自由开播方案
推荐阅读
相关推荐
视频直播连麦技术详解「建议收藏」
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档