在windows电脑上通过P2P隧道SDK看IPC的RTSP视频流的演示方法
准备可以运行P2P隧道客户端程序的两个机器。
一台电脑:在电脑上运行P2P隧道客户端程序,并播放IPC的RTSP视频
一个IPC: 在IPC上运行P2P隧道客户端程序
在IPC上运行P2P隧道客户端程序(pgTunnelStatic)
1.将pgTunnelStatic目录拷贝到IPC上。比如拷贝到/var目录
2.修改IPC上的pgTunnelStatic.id,输入实际使用的P2P ID
1). 假设您的P2P id为test1,就输入pgTunnelStatic.id的内容为id=test1
2).如果没有P2P ID,请联系穿透SDK的工作人员申请P2P 测试ID。
3).注意:IPC使用的P2P ID和 播放RTSP视频的windows电脑使用的P2P ID不能相同。这里演示时IPC所使用的P2P ID为test1 , 播放RTSP视频的windows电脑使用的P2P ID为test2
3.运行可执行文件pgTunnelStatic
1). 假设您存放pgTunnelStatic的目录为/var/pgTunnelStatic
2). cd /var/pgTunnelStatic;
切换到可执行文件pgTunnelStatic的存放路径
3). ./pgTunnelStatic
将pgTunnelStatic运行起来
注意:如果pgTunnelStatic没有权限,要给以权限,比如chmod 777 pgTunnelStatic
4). 查看pgTunnelStatic是否运行的方法:
ps -ef|grep pgTunnelStatic
能看到pgTunnelStatic的PID号就说明pgTunnelStatic在运行了
在windows电脑运行P2P隧道客户端程序(demoTunnel),创建隧道连接,播放IPC的RTSP视频。
1.运行windows的P2P隧道客户端程序demoTunnel.exe
2.输入P2P ID,然后按Enter(回车)
1).如果没有P2P ID,请联系穿透SDK的工作人员申请P2P 测试ID。
2).注意:IPC使用的P2P ID和 播放RTSP视频的windows电脑使用的P2P ID不能相同。这里演示时IPC所使用的P2P ID为test1 , 播放RTSP视频的windows电脑使用的P2P ID为test2
3). 如何看是否登录成功
- 看到打印Callback: uEvent=2, sParam={“errcode”:0}
- 执行statusget返回0
3.通过connectadd命令创建隧道连接,依次输入以下信息
1). 对端(IPC端)的隧道P2P ID
- 对端的隧道ID就是IPC那端所使用的隧道ID;
- 播放RTSP视频的隧道客户端是本端,要提前知道看对应IPC上的P2P ID;
- 输入后,按Enter(回车)结束输入;
2). 隧道连接的类型
- 0:为TCP连接,1为HTTP代理连接;
- RTSP流用TCP连接就可以了;
- 输入后,按Enter(回车)结束输入;
3). 隧道连接是否加密的选项
- 0为不加密,1为使用加密算法对通过隧道SDK传输的数据进行加密;
- 输入后,按Enter(回车)结束输入;
4). 对端TCP服务器的侦听IP地址和端口
- 格式为IP:端口;
- 通常RTSP监听的TCP端口为8554或554;
- 这里用127.0.0.1:8554作为对端TCP服务器的侦听IP地址和端口演示;
- 输入后,按Enter(回车)结束输入;
5). 本端映射的客户端连接IP地址和端口
- 格式为IP:端口;
- 这里用127.0.0.3:6549作为本端映射的客户端连接IP地址和端口演示;
- 入口地址写本地要使用的地址和端口,一般是回环地址加端口,可自定义,不要和其他端口冲突即可;
- 输入后,按Enter(回车)结束connectadd创建隧道的操作;
4.查看隧道连接是否创建成功
5.通过隧道SDK的上报事件,查看隧道连接的状态
通过查看Callback: uEvent的值查看隧道连接的状态。
Callback: uEvent=5 //与对端(IPC端)的P2P通道已连接
Callback: uEvent=6 //与对端(IPC端)的P2P通道已断开
Callback: uEvent=7 //对端(IPC端)已经离线
Callback: uEvent=10 //与对端(IPC端)的隧道映射已连接
Callback: uEvent=11 //与对端(IPC端)的隧道映射已断开
6.使用本端映射的客户端连接IP地址和端口播放IPC的RTSP视频
1). 这里以windows上VLC作为播放RTSP视频的软件为例:
2). VLC打开后,点击“媒体”->“网络串流”->输入相应的URL。
3). 假设您的原始RTSP的URL为:rtsp://192.168.1.166:8554/Streaming/Channels/101 ,则需要在VLC上输入rtsp://127.0.0.3:6549/Streaming/Channels/101 。
也就是把原始URL中的IP地址端口(192.168.1.166:8554)用隧道连接的本端映射的客户端连接IP地址和端口(127.0.0.3:6549)来代替。