SRT是时下最热门的互联网传输协议,具备低延时、稳定可靠传输的优势特性,可广泛应用于远程制作、远程监看、异地互动等需要互联网远程传输场景。
SRT 是点对点传输协议,由于需要穿透互联网,所以至少需要有一端具备公网 IP 地址。将有公网 IP 地址的一端设备设置为 listener 模式,另一端采用 caller 模式向对端发起连接请求,待 SRT 连接建立成功之后,则可以实时传输视频流了。
下面以普通组网环境的 A、B 两个站点为例,从站点 A的编码器以 SRT 方式实时将视频流传输至站点 B 的解码器,介绍如何实现公网传输方案(我们均以解决站点 B 的公网地址问题做介绍,站点 A同理),这里主要介绍网络相关配置,SRT 具体配置请参考 SRT 配置手册。

获取公网IP地址3种方案

  • 方案一:宽带运营商 PPPoE模式获取公网IP地址/端口映射
    • 方案二:采用FRP方式做公网地址
    • 方案三:购买IP盒子获取公网IP地址
    • 方案四:其他工具获取公网IP地址

方案一:宽带运营商 PPPoE模式获取公网IP地址/端口映射

宽带运营商可以提供公网IP 地址给路由器(4G上网是不能提供公网 IP 地址的),公网 IP 地址配置于路由器的 outside 接口,在路由器对解码器 IP/端口做一对一映射。

1)设置路由器的 WAN 口以 PPPoE 模式获取公网 IP 地址

注:想要路由器接口直接获取到公网 IP 地址,需要宽带运营商配合。

一是需要将宽带光猫设置为透传模式,将 PPPoE 拨号的功能放置在路由器来执行,以便可以在路由器来配置公网/私网地址端口映射。

二是需要运营商有条件提供公网 IP 地址给用户(通常电信宽带拥有更多的公网 IP 地址资源。由于申请运营商的固定公网 IP 地址费用太高,一般能够有公网 IP 地址即可,虽然这个公网 IP 地址是变化的,但是一定时间内它是能够保持不变的,除非设备重启才会发生变化)。

一般情况下,如果 WAN 口获取到的是 10.x.x.x、172.16.x.x–172.32.x.x、192.168.x.x 网段的 IP 地址, 这是属于私网 IP 地址范畴,用户不能直接穿越互联网来访问它的。

2)设置路由器的端口映射(Port Forward)

如下图所示,将外网地址的 UDP33222 端口,映射到内网 192.168.4.101(解码器 IP 地址,并保证这个 IP 地址与路由器是互通的)地址 UDP33222 端口。

即,当对端设备采用 SRT 方式向本路由器公网 IP 地址的 33222 端口发起连接时,路由器会直接将该数据流转发给解码器 192.168.4.101 设备进行响应和回复。(SRT 是以UDP 协议传输的,因此端口映射必须配置为 UDP 协议)
注:如果宽带运营商可以提供多个公网 IP 地址(一般需要专线模式,PPPoE 拨号方式上网只能获得一个公网 IP 地址),一个用于路由器上网,一个单独给解码器使用,则可以将公网 IP 直接配置在解码器的网口,这样就可以免去端口映射的配置。

方案二:采用FRP方式做公网地址

在云端购买一台服务器(云服务器可以提供公网 IP 地址),采用 FRP 方式做公网地址和私网地址的端口映射,当对端设备以 SRT 方式连接云服务器的公网 IP/端口,FRP 服务即可将数据流转发至内网解码器设备。

FRP是一款流行的跨平台开源免费内网穿透工具,支持 Windows、macOS 与 Linux 平台, 让外网与内网建立起连接,实现内网无公网 IP 地址的远程访问。

方案三:购买IP盒子获取公网IP地址

购买 IP 盒子及其宽带服务,IP 盒子可以在内网获取到公网 IP 地址,将解码器与之相连,并做好设备相应配置,即可实现 IP 盒子的公网地址与解码器私网 IP 地址的一一对应关系。这样,当对端设备以 SRT 方式连接 IP 盒子的公网 IP/端口时,IP 盒子即可将数据流转发至内网解码器设备。

方案四:其他工具获取公网IP地址

 另外,还有花生壳、Ngrok、n2n、lanproxy 等等工具可以使用,热爱学习的请自行研究。附加:科普公网IP地址知识01公网IP地址公网 IP 地址,是可以被全世界任何人访问的(如果你不对这个 IP 地址做限制的话),用于互联网使用。比如 14.215.177.39 是百度公司的地址,你在任何可以上网的地方都能访问到这个 IP 地址。有这么一种情况:办理的联通带宽,分配的 IP 只能在联通内部访问,移动网络不能访问。这个IP 只能算是“联通内的公网 IP”,不是真正的公网 IP 地址。

02私网IP地址
私网 IP 地址,如:10.x.x.x、172.16.x.x–172.32.x.x、192.168.x.x 等,私网地址只能用于局域网,即只能在本地网络访问,跨越互联网的用户是无法通过这个 IP 地址访问到某个设备的。
03固定公网IP地址
固定公网 IP 地址,对应的反面是动态公网 IP 地址。一般我们用拨号模式上网时,网络服务商会从 IP 地址池中临时“借”给你一个 IP,当我们下线时这个 IP 被“归还”,下次再连线时就可能“借”到另一个 IP,即你的 IP 不是固定的。反过来,服务商可以给你指定一个专用公网 IP 地址,公网IP 固定不变(公司专线是这种模式,但是运营商对专线模式的收费也是比较贵的。我们在使用 SRT时,一般使用动态公网 IP 地址就可以,一定时间内它是保持不变的,或者是采用域名方式访问)。
方案下载地址:https://download.csdn.net/download/kiloview2019/12844049
本文为原创,转载请标注来自CSND博客KILOVIEW.

SRT编码器传输获取公网IP地址3种解决方案相关推荐

  1. 一种获取公网ip地址并发送邮件至指定邮箱的实现方法

    背景   在之前一篇文章中介绍了利用路由器的端口映射功能实现内网穿透的方法.   ubuntu SSH内网穿透 + Vscode远程访问   在实际的使用过程中,发现这一实现途径存在一些不足之处,即当 ...

  2. java 获取ip地址 公网,java获取公网ip地址操作

    获取公网ip地址操作 import javax.servlet.http.HttpServletRequest; /** * * 获取公网ip地址操作 * @ClassNmae:NewClass * ...

  3. Android获取公网IP地址

    Android想要获取公网IP地址,连接wifi的情况下在应用层开发的角度使用系统的API是做不到的,只能直接或间接利用第三方的接口服务: 1.公共接口: 搜狐: http://pv.sohu.com ...

  4. linux系统wget、curl终端命令行获取公网ip地址及其他网络信息

    前言 在linux开发环境中查看当前公网ip地址或者某个端口是否通,对于新手来说是个比较麻烦的事情,下面我这里介绍一下如何在终端查询当前公网ip以及其他网络信息. 安装wget.curl工具 wget ...

  5. 你会在终端下快速获取公网 IP 地址吗,学会这些技巧后你就游刃有余了!

    在排除网络问题,建立新连接或配置防火墙时,了解设备的 IP 地址很重要. IP 地址可以分为两类,公用和私有(专用).公用 IP 是唯一的 IP 地址,可以从 Internet 访问.专用 IP 地址 ...

  6. 湖南地区电信如何获取公网IP地址

    1.打电信电话.要求公网IP地址. 软磨硬泡10分钟后...答应.如果客服说不会,继续打. 2.成功后将光猫改为桥接模式 一般情况下,现在的光猫的超级密码都不是之前的网上的了,其实只需要访问一下地址就 ...

  7. android获取公网ip地址,获取公网ip

    /** * 获取公网ip * @return */ public String getNetIp() { String ip = ""; InputStream inStream ...

  8. 关于Java获取公网IP地址

    首先写这个只是做个笔记,下次直接需要使用,真是不想吐槽有些文章标题党,搜的就是如何查看公网IP 外网IP ,你们标题挂着也是获取公网IP. 外网IP ,写的是获取本地的IP ,好像有大病. 做这个是因 ...

  9. 利用python实时获取公网IP地址

    使用本地运行python任务+OneDrive同步的方式,替代DDNS获取公网地址 # /* # * @Author: qyn987707.qianyunan # * @Date: 2021-11-0 ...

最新文章

  1. CListCtrl使用技巧
  2. 重写修改重写的Dialog显示问题
  3. ios开发 ajax hook,IOS中的网络拦截总结
  4. mysql查询_MySQL基础,查询语句详解
  5. 以主干开发作为持续交付的基础
  6. 微信红包数字变化动态图片_11.11早安暖心祝福动态图片 微信朋友圈早晨问候语...
  7. get;get属性器
  8. Azure Sentinel -- 云原生企业安全信息和事件管理平台(SIEM)初探系列一
  9. bzoj1925: [Sdoi2010]地精部落 [dp]
  10. vuecli3 配置多个代理
  11. html css拖拽设计,css绘制三角形 和 HTML拖拽事件
  12. Nginx源码分析 - HTTP模块篇 - HTTP Request解析过程(22)
  13. 自解压shell文件的制作
  14. 人人开源项目前端添加静态路由
  15. 2015年中国互联网大检阅
  16. Python cx_Oracle执行的sql字符串拼接含分号导致报“ORA-01756“引号内的字符串没有正确结束
  17. uni 加入图标_uniapp如何更改图标
  18. solidity智能合约[4]-pure与view剖析
  19. java 如何获取当前时间到夜晚12点的毫秒差值
  20. 小米电视/盒子 访问群晖 需要打开 设置“SMB1”

热门文章

  1. 如何利用MATLAB求解线型方程组--雅可比迭代法、高斯赛德尔迭代法
  2. 索引失效的场景有哪些?索引何时会失效?
  3. mysql强力推荐启用binlog
  4. 是时候再来推荐一波Android 黑科技工具了
  5. 2022-2028全球与中国Oracle CX客户体验云咨询服务市场现状及未来发展趋势
  6. 安卓笔记之xutil下载apk并安装
  7. python之PIL库下载安装
  8. 《MongoDB入门教程》第19篇 文档更新之$rename操作符
  9. PM、oSE、oMDE、oTSE、oTC角色职责
  10. 计算机重启无法继续,电脑开不了机(反复重启)的部分解决方法