直播平台搭建中关于直播推流的三种常见协议

简介:

直播行业经过爆发式增长后“荷尔蒙经济”逐渐减退,如今的直播行业商业模式已经趋于成熟,并开始进入发展的新阶段。直播平台搭建项目也早已成为热门开发项目,但是在进行项目开发之前,关于直播的推拉流也是需要进行了解的。而推流是直播的第一步,所以今天给大家简单分享一下推流中都有哪些推送协议和他们的现状及优缺点。

1.  RTMP

实时消息传输协议该协议基于 TCP是一个协议族。其中包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE 等多种变种。RTMP 是一种设计用来进行实时数据通信的网络协议,主要用来在 Flash/AIR 平台和支持 RTMP 协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括 Adobe Media Server/Ultrant Media Server/red5 等RTMP 是目前主流的流媒体传输协议,广泛用于直播领域,可以说市面上绝大多数的直播产品都采用了这个协议。

优点CDN 支持良好,一般主流的 CDN 厂商都支持协议简单,在各平台上实现也很容易

缺点基于 TCP ,传输成本高,在弱网环境丢包率高的情况下问题显著不支持浏览器推送

2.WebRTC

是一个支持网页浏览器进行实时语音对话或视频对话的 API。它于 2011 年 6 月 1 日开源并在 Google、Mozilla、Opera 支持下被纳入万维网联盟的 W3C 推荐标准。目前主要应用于视频会议和连麦中

优点W3C 标准主流浏览器支持程度高,不仅有Google 在背后支撑,而且在各平台有参考实现底层基于 SRTP 和 UDP,弱网情况优化空间大可以实现点对点通信,通信双方延时低

缺点传统 CDN 没有提供类似的服务

3.基于 UDP 的私有协议

有些直播应用会使用 UDP 做为底层协议开发自己的私有协议,因为 UDP 在弱网环境下的优势通过一些定制化的调优可以达到比较好的弱网优化效果,但同样因为是私有协议也势必有一些问题。

优点:支持更多空间进行定制化优化

缺点开发成本高并且对CDN 不友好,需要自建 CDN 或者和 CDN 达成协议

以上就是直播平台搭建过程中直播推流经常会用到的三种协议,而这三种协议的优缺点适应不同的功能和直播需求,所以在使用时也需要认真做出考量,从而顺畅的完成直播的推拉流,给用户带来良好的直播观看体验。

本文声明原创,转载请注明出处。

相关文章
|
4天前
|
人工智能 安全 测试技术
Qoder 重磅升级,推出 Quest Remote 功能,像发邮件一样将任务委派到云端
2025云栖大会,Qoder发布Quest模式重磅升级——“远程委派”功能,支持将复杂任务一键委派至云端沙箱异步执行,解放本地资源,实现高效、安全的AI原生开发。开发者从此告别后台噪音,专注创意与价值创造。
|
存储 Java Linux
10分钟入门Flink--安装
本文介绍Flink的安装步骤,主要是Flink的独立部署模式,它不依赖其他平台。文中内容分为4块:前置准备、Flink本地模式搭建、Flink Standalone搭建、Flink Standalong HA搭建。
10分钟入门Flink--安装
|
6月前
|
人工智能 算法 API
多模态模型卷王诞生!InternVL3:上海AI Lab开源78B多模态大模型,支持图文视频全解析!
上海人工智能实验室开源的InternVL3系列多模态大语言模型,通过原生多模态预训练方法实现文本、图像、视频的统一处理,支持从1B到78B共7种参数规模。
887 6
多模态模型卷王诞生!InternVL3:上海AI Lab开源78B多模态大模型,支持图文视频全解析!
|
11月前
|
安全 算法 网络安全
SSL/TLS协议是什么?
SSL/TLS协议是什么?
951 57
|
4月前
|
数据采集 存储 Web App开发
多线程爬虫优化:快速爬取并写入CSV
多线程爬虫优化:快速爬取并写入CSV
|
编解码
FFmpeg开发笔记(三十三)分析ZLMediaKit对H.264流的插帧操作
《FFmpeg开发实战》书中3.4.3节讲解如何将H.264流封装成MP4。H.264流通常以SPS→PPS→IDR帧开始,这一说法通过雷霄骅的H264分析器得到验证。分析器能解析H.264文件但不支持MP4。ZLMediaKit服务器在遇到I帧时会自动插入SPS和PPS配置帧,确保流符合标准格式。若缺少这些帧,客户端拉流时会报错。FFmpeg开发实战:从零基础到短视频上线》书中提供了更多FFmpeg开发细节。
392 0
FFmpeg开发笔记(三十三)分析ZLMediaKit对H.264流的插帧操作
|
10月前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
2357 16
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
12月前
|
Java 数据安全/隐私保护
Java ffmpeg 实现视频加文字/图片水印功能
【10月更文挑战第22天】在 Java 中使用 FFmpeg 实现视频加文字或图片水印功能,需先安装 FFmpeg 并添加依赖(如 JavaCV)。通过构建 FFmpeg 命令行参数,使用 `drawtext` 滤镜添加文字水印,或使用 `overlay` 滤镜添加图片水印。示例代码展示了如何使用 JavaCV 实现文字水印。
955 1
|
数据可视化 项目管理
Scrum与Kanban项目管理实践
【5月更文挑战第8天】本文探讨了Scrum和Kanban两种敏捷项目管理方法的实践应用。Scrum侧重迭代开发和团队协作,通过短期Sprint实现增量交付,而Kanban注重工作流程可视化和持续改进,通过看板管理和限制在制品优化效率。两者各有优势,可根据项目需求灵活选用或结合使用。理解并运用这些方法能提高项目成功率并适应变化的环境。
|
Python
【ERROR】asyncio.run(main())报错:RuntimeError: Event loop is closed
【ERROR】asyncio.run(main())报错:RuntimeError: Event loop is closed
761 0