常见流媒体协议(流媒体协议tcp)

你好,这里是网络技术联盟站。

在线视频现在已经是家喻户晓,最近的研究表明,全世界网民平均每天花费近 92 分钟观看在线视频,尤其是直播视频,正受到网民的青睐。

上一节给大家详细介绍了WebRTC,与WebRTC相关的技术点还很多,比如RTMP、RTSP等,RTMP就是直播技术之一,那么本文瑞哥就带大家探讨一下最古老的流媒体协议之一RTMP。

让我们直接切入主题!

什么是RTMP?

  • 英文名称:Real-Time Messaging Protocol
  • 中文名称:实时消息传递协议
  • 是一种流媒体协议
  • 基于TCP协议,连接持久且低延迟,可以提供流畅的流媒体体验
  • L7(应用层)协议

RTMP 通过在 RTMP Client 和 RTMP Server 之间建立和维护通信路径来实现快速、可靠的数据传输。

Macromedia 首先将 RTMP 规范定义为一种将数据从服务器流式传输到 Flash 播放器的方式。

Adobe 随后收购了 Macromedia,并将 RTMP 源代码开源,随后 RTMP 规范得到了更广泛的采用,慢慢的成为 Internet 传输视频的标准。

常见流媒体协议(流媒体协议tcp)c

现在RTMP 主要用作流式传输实时视频,并且播放的时候非常流畅,还支持动态播放控制,允许用户跳转播放。

随着 Flash 的弃用,RTMP 不再用于向视频播放器传输视频,并且正面临来自 MPEG-DASH 和 HLS 等基于 HTTP 的视频传输协议的激烈竞争,但是,RTMP 仍然在与编码器之间的视频传输中扮演着重要的角色。

RTMP 的变体

常见流媒体协议(流媒体协议tcp)
  • RTMP在默认情况下使用 TCP 端口号 1935。
  • RTMPS,即通过 TLS/SSL 连接的 RTMP。
  • RTMPE 是使用 Adobe 自己的安全机制进行 RTMP 加密的。
  • RTMPT 封装在 HTTP 请求中以穿越防火墙。RTMPT 经常使用 TCP 端口 80 和 443 上的明文请求来绕过大多数公司流量过滤。
  • RTMFP,实时媒体流协议,一种通过网络进行通信的安全传输协议。

RTMP 流媒体如何工作?

一般分为四个阶段:

  • 相机捕捉 RAW 视频。
  • RTMP 编码器将此 RAW 视频转换为数字视频,并将其发送到 Flowplayer 等在线视频主机。
  • 在线视频主机接收编码的视频并准备通过 HLS 协议将其传送到观众的设备。
  • 观看设备以最小的延迟实时播放实时视频。

音频编解码器

AAC、AAC-LC、HE-AAC+ v1 和 v2、MP3、Speex

视频编解码器

H.264、VP8、VP6、Sorenson Spark

RTMP 使用 TCP 传输数据,整体上,数据传输分为三个步骤:

  • 握手:客户端的 Flash Player 连接媒体服务器来打通它们之间的 RTMP 连接
  • 连接:客户端发送特定视频流的连接请求
  • :服务器收到请求后,会将原始数据转换为 SWF,即小型 Web 格式,然后,服务器通过 RTMP 将流发送到目标端点

RTMP的优势

1、低延迟

RTMP使用独占的 1935 端口,无需缓冲,基于 TCP,所以连接稳定,这样的话,用户在观看视频的时候,假如看到一半断网了,等到网络重连还可以接着上次断开的进度看。

2、易于集成

RTMP 不仅可以整合文本、视频和音频,还支持 MP3 和 AAC 音频流、 MP4、FLV 和 F4V 视频流。

RTMP的缺点

  • RTMP不支持高分辨率视频和 VP9、AV1 等视频压缩方法。
  • iOS、Android、大多数嵌入式播放器和一些浏览器不再接受 RTMP 直播,某些网络默认阻止 RTMP 端口,这需要特殊的防火墙修改才能允许通过被阻止的网络。
  • RTMP 直播流容易受到数据丢失的影响,网络一旦有点问题就会丢失数据。

总结

RTMP 是一种基于 TCP 的协议,它维护持久连接并允许低延迟通信,为了流畅地传递流并传输尽可能多的信息,它将流拆分为片段,并且它们的大小在客户端和服务器之间动态协商。

虽然RTMP优势比较明显,但是其技术早已过时,出现了越来越多的替代品,比如用于硬件编码器的SRT、用于浏览器的WebRTC。不过这也不能说明RTMP可以被完全替代,RTMP技术对于直播来说还是很重要的。

对于RTMP技术的讨论就到这里,下一篇文章,我们来聊聊RTSP。

感谢您的阅读,如果觉得文章对您有帮助,别忘了点赞??、收藏?哦!有任何问题,欢迎在下方评论区与我讨论!!!

原创文章,作者:网络技术联盟站,如若转载,请注明出处:https://www.sudun.com/ask/34765.html

(0)
网络技术联盟站's avatar网络技术联盟站
上一篇 2024年4月19日 上午11:44
下一篇 2024年4月19日 上午11:46

相关推荐

  • ARP攻击技术

    ARP 欺骗 – 仿冒网关攻击原理一个典型的网关仿冒流程如下:ARP 泛洪攻击 – 缓存溢出攻击 原理一个典型的缓存溢出流程如下:一个典型的扫描攻击流程如下:

    2024年9月19日
    0
  • 网络命令学习,什么是Ping?

    什么是PingPing是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息,你就可以推断TCP/IP参数是否设

    2024年9月17日
    0
  • 威胁情报定义(威胁情报评估内容包括)

    文章前言 情报本质上是高纬度的信息,对于信息/数据的评价一般可以分为:完整性、一致性、准确性和及时性,本篇不从高屋建瓴的方法论入手,而是直接关注于实际的威胁情报使用场景,具体来说是…

  • 一文了解常见DNS问题 dns问题如何解决

    一文了解常见DNS问题当企业的DNS出现故障时,为不影响企业的正常运行,团队需要能够快速确定问题的性质和范围。那么有哪些常见的DNS问题呢? 域名解析失败:
    当您输入一个域名&#xf

    网站运维 2024年7月5日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注