博客
关于我
关于RTP和SRT之间的互操作性,你需要了解什么?
阅读量:235 次
发布时间:2019-02-28

本文共 1888 字,大约阅读时间需要 6 分钟。

640?wx_fmt=jpeg

文 /  Mark Cymontkowski
译 / John
原文
https://www.srtalliance.org/interoperability-between-rtp-and-srt/

许多企业现有的内部部署广播工作流程都基于RTP协议,但是您是否知道SRT可以通过在不可靠的网络(例如公共网络)上利用SRT隧道传输RTP来扩展这些工作流程的范围?

 

在这篇文章中,我们将以一个非常简单的端到端工作流为例向您展示这一过程。下图显示了如何使用RTP将MPEG2传输流从视频编码器发送到受保护网络(例如企业LAN或MPLS租用线路)内的视频解码器。

通过可靠网络(例如局域网)进行RTP传输

 
640?wx_fmt=png
 

用公共互联网取代专用网络并不是那么简单,因为不可靠的网络会引入数据包丢失和抖动。此外,流在离开或进入企业网络时必须穿过防火墙。这期间内容不再受到保护,非常容易被暴露。

 

RTP通过不可靠的网络传输,如公共互联网

640?wx_fmt=png

SRT能够恢复丢失的数据包,也能加密内容和遍历防火墙,这使其非常适合用作跨公共互联网的隧道。

 

以下是它的工作原理:

 

RTP流量被发送到UDP接收器,UDP接收器通过SRT连接转发包括RTP报头在内的MPEG-TS有效载荷;而在接收器端,流作为UDP播放,但由于RTP报头仍然存在,因此它会将本地RTP流发送到现有的RTP解码器。

 

通过SRT在不可靠的网络(例如公共互联网)上隧道传输RTP

640?wx_fmt=png
 

可以使用开源SRT包中的srt-live-transmit示例应用程序来评估此配置。来自编码器的源RTP流必须指向SRT发送器的UDP输入并将目标位置处接收器的UDP输出发送到解码器的RTP输入端口。

 

由于应用程序在从UDP读取数据时期望没有RTP头的MPEG-TS流量,因此默认情况下,它被配置成为每UDP包接收1316字节(7个MPEG-TS帧)的有效载荷。该命令行选项用于增加SRT有效负载大小。

 

这些是发送方(UDP到SRT)和接收方(SRT到UDP)的两个srt-live-transmit示例命令行:

640?wx_fmt=png
 

在该示例中,源(例如RTP编码器)正在将RTP流发送到192.168.0.20:2000。发送方端srt-live-transmit接收包括端口2000上的RTP报头在内的MPEG-TS流并侦听端口1000上的传入接收方连接。在我们的示例中,运行发送方应用程序的计算机的IP地址为192.168.0.10。不同机器上的接收器应用程序作为呼叫者连接到服务器,接收SRT流并将该流作为UDP数据输出到IP地址为192.168.0.30和端口3000的RTP接收器(例如解码器)。

 

注意:使用SRT 1.4版时,在使用srt-live-transmit时不再需要指定有效负载和/或块大小(-c)。

 

类似地,具有FEC(SMPTE 2022-1前向纠错)的冗余RTP可以通过SRT连接进行隧道传输。FEC列和行数据包的额外UDP流可以通过两个额外的SRT连接进行路由。但是,所有三个SRT连接都可以通过使用SRT复用在单个UDP端口上发送,SRT复用是核心协议的一部分。

 

使用SRT复用通过SRT与FEC隧道传输RTP

 
640?wx_fmt=png
 

我们可以进一步扩展此设置以支持冗余RTP(SMPTE 2022-7)工作流程。由于RTP报头在冗余设置的任一路径上保持不变,因此系统仍可在接收器侧同步多个RTP流。

 

通过SRT隧道传输多路径RTP以实现冗余

 
640?wx_fmt=png
 

此时,值得一提的是,在IBC2019时间范围内,本机冗余工作流程将进入SRT协议。这意味着每个启用SRT的端点都可以使用此功能从而大大简化了安装。

 
640?wx_fmt=png

LiveVideoStackCon 2019深圳讲师招募

12月13-14日,LiveVideoStackCon首次来到深圳,将全球前沿多媒体技术实践与深圳本地产业结合,触发技术与商业灵感。欢迎将你的技术实践、踩坑与填坑经历、技术与商业创业的思考分享出来。请将个人资料和话题信息邮件到 speaker@livevideostack.com 或点击【阅读原文】了解成为LiveVideoStackCon讲师的权益与义务,我们会在48小时内回复。

LiveVideoStack 秋季招聘

LiveVideoStack正在招募编辑/记者/运营,与全球顶尖多媒体技术专家和LiveVideoStack年轻的伙伴一起,推动多媒体技术生态发展。同时,也欢迎你利用业余时间、远程参与内容生产。了解岗位信息请在BOSS直聘上搜索“LiveVideoStack”,或通过微信“Tony_Bao_”与主编包研交流。

转载地址:http://tskp.baihongyu.com/

你可能感兴趣的文章
NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_实际操作---大数据之Nifi工作笔记0020
查看>>
NIFI大数据进阶_Json内容转换为Hive支持的文本格式_实际操作_02---大数据之Nifi工作笔记0032
查看>>
NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka生产者---大数据之Nifi工作笔记0036
查看>>
NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
查看>>
NIFI大数据进阶_NIFI监控功能实际操作_Summary查看系统和处理器运行情况_viewDataProvenance查看_---大数据之Nifi工作笔记0026
查看>>
NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
查看>>
NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
查看>>
NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
查看>>
NIFI大数据进阶_使用NIFI表达式语言_来获取自定义属性中的数据_NIFI表达式使用体验---大数据之Nifi工作笔记0024
查看>>
NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
查看>>
NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
查看>>
NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_操作方法说明_01---大数据之Nifi工作笔记0033
查看>>
NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_操作方法说明_02---大数据之Nifi工作笔记0034
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_01_实际操作---大数据之Nifi工作笔记0029
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_说明操作步骤---大数据之Nifi工作笔记0028
查看>>
NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
查看>>
NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
查看>>