设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 87|回复: 11

RTSP流量转发,想在外网看内网IPTV直播,有些问题搞不明白...

[复制链接]

12

主题

45

回帖

162

积分

注册会员

积分
162
发表于 2020-5-14 09:36:57 | 显示全部楼层 |阅读模式
本帖最后由 duolly 于 2020-5-14 10:52 编辑

昨天看到某个大佬 @zhbone 发了一个流量转发的工具,想起来前一段自己用socat折腾能在外网看家里内网IPTV的事情,最终没有折腾成功,趁着这波把问题发来,请各位MJJ帮忙分析下。

首先是家里的网络图





主路由双wan,一路internet(有公网ip,ddns域名),一路IPTV(DHCP,内网ip),

用ip分流的方式,所有 10.1.1.0/8的都走wan2,这样就实现了lan下所有的设备都能看IPTV直播。

比如CCTV1: rtsp://10.254.209.130/PLTV/88888888/224/3221225621/10000100000000060000000000009742_0.smil

在电视上装一个友窝直播就可以直接看了,不必非用联通的tvbox。


基本情况都说完了,下面说想通过socat流量转发实现的,

在主路由上运行socat

[ol]
  • socat -d -d -lf /root/socat_TCP.log TCP4-LISTEN:554,reuseaddr,fork TCP4:10.254.209.130:554&
  • [/ol]复制代码

    相当于监听554端口,并转发到IPTV的10.254.209.130:554,在外网用

    rtsp://home.xxxxxx.cn/PLTV/88888888/224/3221225621/10000100000000060000000000009742_0.smil

    看IPTV,但是。。连不上。

    要是 V @P# N进home的wan,

    用 rtsp://home.xxxxxx.cn/PLTV/88888888/224/3221225621/10000100000000060000000000009742_0.smil

    却能看。。。

    不知道有大佬知道是什么问题不?

    更新socat log
    这是外联通过ddns直接连上的log,看不成iptv

    [ol]
  • 2020/05/14 10:35:13 socat[21112] N listening on AF=2 0.0.0.0:554
  • 2020/05/14 10:37:26 socat[21112] N accepting connection from AF=2 171.8.201.51:55494 on AF=2 192.168.10.2:554
  • 2020/05/14 10:37:26 socat[21112] N forked off child process 21615
  • 2020/05/14 10:37:26 socat[21112] N listening on AF=2 0.0.0.0:554
  • 2020/05/14 10:37:26 socat[21615] N opening connection to AF=2 10.254.209.130:554
  • 2020/05/14 10:37:26 socat[21615] N successfully connected from local address AF=2 192.168.10.2:46082
  • 2020/05/14 10:37:26 socat[21615] N starting data transfer loop with FDs [7,7] and [6,6]
  • 2020/05/14 10:37:26 socat[21615] N socket 2 (fd 6) is at EOF
  • 2020/05/14 10:37:27 socat[21615] N exiting with status 0
  • 2020/05/14 10:37:27 socat[21112] N childdied(): handling signal 17[/ol]复制代码


    这是v#p@n 连上主路由,一样通过 ddns的连上的log ,这就看的成IPTV

    [ol]
  • 2020/05/14 10:38:52 socat[21112] N accepting connection from AF=2 171.8.201.51:56423 on AF=2 192.168.10.2:554
  • 2020/05/14 10:38:52 socat[21112] N forked off child process 21959
  • 2020/05/14 10:38:52 socat[21112] N listening on AF=2 0.0.0.0:554
  • 2020/05/14 10:38:52 socat[21959] N opening connection to AF=2 10.254.209.130:554
  • 2020/05/14 10:38:52 socat[21959] N successfully connected from local address AF=2 192.168.10.2:46386
  • 2020/05/14 10:38:52 socat[21959] N starting data transfer loop with FDs [7,7] and [6,6]
  • 2020/05/14 10:38:52 socat[21959] N socket 1 (fd 7) is at EOF
  • 2020/05/14 10:38:52 socat[21959] N socket 2 (fd 6) is at EOF
  • 2020/05/14 10:38:52 socat[21959] N exiting with status 0
  • 2020/05/14 10:38:52 socat[21112] N childdied(): handling signal 17[/ol]复制代码


    好像没啥区别。

    另外udp也在监听。。没有log
  • 回复

    使用道具 举报

    9

    主题

    732

    回帖

    1591

    积分

    金牌会员

    积分
    1591
    发表于 2020-5-14 09:43:36 | 显示全部楼层
    都不想看,下一位给你解答。
    回复

    使用道具 举报

    12

    主题

    45

    回帖

    162

    积分

    注册会员

    积分
    162
     楼主| 发表于 2020-5-14 09:44:24 | 显示全部楼层

    326412908a 发表于 2020-5-14 09:43

    都不想看,下一位给你解答。

    真直接。。

    回复

    使用道具 举报

    6

    主题

    77

    回帖

    246

    积分

    中级会员

    积分
    246
    发表于 2020-5-14 09:43:00 | 显示全部楼层
    本帖最后由 reusu 于 2020-5-14 09:56 编辑

    [del]把UDP也加上试试[/del]

    貌似RTSP会基于SDP协商双方端口进行UDP发包
    回复

    使用道具 举报

    12

    主题

    45

    回帖

    162

    积分

    注册会员

    积分
    162
     楼主| 发表于 2020-5-14 09:53:41 | 显示全部楼层

    reusu 发表于 2020-5-14 09:53

    把UDP也加上试试

    考虑过udp的问题,同时启用tcp和udp转发还是不行。。

    回复

    使用道具 举报

    6

    主题

    77

    回帖

    246

    积分

    中级会员

    积分
    246
    发表于 2020-5-14 09:55:35 | 显示全部楼层

    duolly 发表于 2020-5-14 09:55

    考虑过udp的问题,同时启用tcp和udp转发还是不行。。

    按照我上面所说
    你要外网访问的话
    要么就远程租网的方式进来
    要么用ffmpeg copy一份发出来
    回复

    使用道具 举报

    12

    主题

    45

    回帖

    162

    积分

    注册会员

    积分
    162
     楼主| 发表于 2020-5-14 09:53:00 | 显示全部楼层

    reusu 发表于 2020-5-14 10:05

    按照我上面所说
    你要外网访问的话
    要么就远程租网的方式进来

    主路由上ffmpeg copy性能吃得消吗。。没在路由上试过

    回复

    使用道具 举报

    6

    主题

    77

    回帖

    246

    积分

    中级会员

    积分
    246
    发表于 2020-5-14 10:05:12 | 显示全部楼层

    duolly 发表于 2020-5-14 10:08

    主路由上ffmpeg copy性能吃得消吗。。没在路由上试过

    你可以试试
    不转码纯粹copy的话应该还好?
    不过也看路由的U是啥了
    回复

    使用道具 举报

    18

    主题

    87

    回帖

    268

    积分

    中级会员

    积分
    268
    发表于 2020-5-14 09:55:00 | 显示全部楼层
    转单播,然后在哪里转的单播就让外网访问权限到哪里
    回复

    使用道具 举报

    0

    主题

    9

    回帖

    32

    积分

    新手上路

    积分
    32
    发表于 2020-5-14 10:08:41 | 显示全部楼层
    本帖最后由 hising 于 2020-5-14 10:22 编辑

    双WAN一路内网IPTV的话 直接做路由规则不行么?应该也可以实现吧。

    就是你第一种方法

    第二种你可以在内内网找个电脑直接推流也可以啊。

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2026-2-16 12:14 , Processed in 0.015995 second(s), 5 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表