《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.1直播类泛娱乐——3.1.3 直播类泛娱乐技术服务(8)

简介: 《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.1直播类泛娱乐——3.1.3 直播类泛娱乐技术服务(8)

《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.1直播类泛娱乐——3.1.3 直播类泛娱乐技术服务(7) https://developer.aliyun.com/article/1231182?groupCode=supportservice



3.1.3.4 技术摸索带来的收益


协议分类层面

RTMP协议工作在TCP之上,是应用层协议,默认的端口是1935。

RTMPERTMP的基础上增加了加密功能

RTMPT工作在HTTP之上,默认端口是80或443,可穿透防火墙。

RTMPS类似RTMPT,增加了TLS/SSL的安全功能。

•RTMFP为RTMP协议的UDP版本。

SRT是基于UDT的协议(UDT协议是基于UDP的传输协议,在IETF已经提交了4 版本)

• RTC(Real1time1communication)实时通信,是实时音视频的一个简称,我们 说的RTC技术一般指的是WebRTC技术,已经被W3C和IETF发布为正式标准。

•传统RTMP

RTMP的交互流程可以分为握手过程、控制命令传输与数据传输。

 

image.png


RTMP连接以握手开始,RTMP握手由三个固定长度的块组成。客户端(发起连接 请求的终端)和服务器端各自发送相同的三块。便于演示,本文将从客户端发送的这 些块指定为C0、C1 和 C2;将从服务器端发送的这些块分别指定为 S0、S1 和 S2。


RTMP握手以客户端发送C0和C1块开始,  客户端要等收到S1之后才能发送C2, 客户端要等收到S2之后才能发送其他信息(控制信息和真实音视频等数据),  服务端要 等到收到C0之后发送S1,服务端必须等到收到C1之后才能发送S2,服务端必须等到 收到C2之后才能发送其他信息(控制信息和真实音视频等数据)。以下为RTMP握手的 时序图介绍。

 

image.png


RTMP协议太老,且最后一次更新是在2012年;同时HEVC/H.265/AV1等视频 格式都没有官方定义以至于需要国内CDN厂商自行定义。RTMP连接过程较长,由于 RTMP基于TCP(TCP三次握手)除此之外,其本身又存在c0/s0到c2/s2的三次握 手,  再加上Connection  Createstream,Play/Publish,  总地来说RTMP完成一次 建连需要进行9次会话,用于PC端勉强能够接受,对于移动端网络质量的要求则很高 RTMP的拥塞控制完全依赖输层,即完全依赖于TCP传输层的拥塞控制算法来进 行拥塞管理,几乎没有什么优化;RTMP本身基于TCP传输,无法提供带宽自适应的 算法。在此背景下众多厂商开始着手提供一些新的直播协议供行业参考。如QUIC SRT



《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.1直播类泛娱乐——3.1.3 直播类泛娱乐技术服务(9) https://developer.aliyun.com/article/1231180?groupCode=supportservice

相关文章
|
3天前
|
SpringCloudAlibaba Dubbo 应用服务中间件
【微服务】微服务初步认识 - 微服务技术如何学习 · 认识微服务架构
【微服务】微服务初步认识 - 微服务技术如何学习 · 认识微服务架构
12 0
|
3天前
|
存储 设计模式 架构师
编码之道:从技术细节到系统架构的升华
【5月更文挑战第9天】 在编程的世界里,每一行代码都承载着功能与美学的双重使命。本文将探讨如何从关注技术细节出发,逐步深化对系统架构的理解,并在实践中实现从代码编写者到系统设计师的转变。通过分析具体案例,我们将揭示那些看似平凡的技术感悟如何在复杂系统的构建中发挥关键作用,以及这一过程中对软件开发者的启示。
21 3
|
1天前
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
2天前
|
存储 Java 编译器
用王者荣耀告诉你,什么叫类与对象,思维图+核心+架构让你一步到位
用王者荣耀告诉你,什么叫类与对象,思维图+核心+架构让你一步到位
|
3天前
|
JSON JavaScript 前端开发
KOI 后台新的架构下,webshop如何消费后台服务 - websocket 初始化
KOI 后台新的架构下,webshop如何消费后台服务 - websocket 初始化
4 0
|
3天前
|
负载均衡 持续交付 API
构建高效微服务架构的五大关键技术
【5月更文挑战第13天】在当前软件开发领域,微服务架构已经成为一种流行趋势。本文将探讨构建高效微服务架构的五大关键技术,包括容器化部署、服务发现与注册、API网关、负载均衡以及持续集成与持续部署。这些技术可以帮助开发团队更快速、更可靠地构建和部署微服务应用,提高系统的可扩展性和可维护性。
|
3天前
|
算法 计算机视觉 网络架构
CVPR 202:擅长处理复杂场景和语言表达,清华&博世提出全新实例分割网络架构MagNet
【5月更文挑战第10天】在CVPR 2024会议上,清华大学与博世团队推出MagNet,一种针对复杂场景和语言表达的实例分割网络。MagNet通过Mask Grounding辅助任务强化视觉-语言对应,缩小模态差距,并结合跨模态对齐损失与模块,提升RIS任务的准确性。在RefCOCO、RefCOCO+和G-Ref基准上取得显著优势,但对罕见表达和复杂场景的处理仍有待优化。[论文链接](https://arxiv.org/abs/2312.12198)
18 5
|
3天前
|
Kubernetes Cloud Native 持续交付
探索云原生架构的未来:如何优化资源管理和服务部署
【5月更文挑战第6天】 随着云计算的快速发展,云原生技术已成为企业数字化转型的关键驱动力。此篇文章深入探讨了云原生架构的核心组件及其在资源管理和服务部署方面的优化策略。通过分析容器化、微服务及自动化管理的实践案例,本文旨在为读者提供一套系统的方法论,以利用云原生技术实现更高效、灵活且可靠的IT基础设施。
30 2
|
3天前
|
负载均衡 API 数据库
构建高效微服务架构的五大关键技术
【5月更文挑战第4天】 随着云计算和容器化技术的成熟,微服务架构已成为软件开发的主流模式。本文将详细探讨实现高效微服务架构的五个关键技术点:服务拆分策略、API网关设计、服务发现与注册、熔断机制以及分布式事务管理。这些技术点是确保微服务系统可扩展性、灵活性及稳定性的基石,对于后端开发者而言,掌握它们至关重要。文章将提供具体的实施建议和最佳实践,帮助读者构建和维护高性能的微服务系统。
|
3天前
|
负载均衡 Java API
构建高效微服务架构:API网关与服务熔断策略
【5月更文挑战第2天】 在微服务架构中,确保系统的高可用性与灵活性是至关重要的。本文将深入探讨如何通过实施有效的API网关和设计合理的服务熔断机制来提升分布式系统的鲁棒性。我们将分析API网关的核心职责,包括请求路由、负载均衡、认证授权以及限流控制,并讨论如何利用熔断器模式防止故障传播,维护系统的整体稳定性。文章还将介绍一些实用的技术和工具,如Netflix Zuul、Spring Cloud Gateway以及Hystrix,以帮助开发者构建一个可靠且高效的微服务环境。