用个视频转发的服务器,想实现这样的功能
有两台不在同一局域网的PC机,PC1、PC2。
PC1任何地方的任何一台计算机,它所在局域网的路由器IP不是固定的。
PC2是一台固定局域网内的计算机,它所在局域网的路由器IP是固定的。
现在要在PC1上监视PC2所在地方。
我的想法:
PC1向服务器请求监视PC2,先发建立与服务器的连接(TCP,这个连接一直不断开),然后发监视命令给服务器(有固定外网IP),服务器收到命令后向PC2发送监视命令(tcp+配置PC2的路由的端口映射可以实现),然后PC2向服务器发视频流(RTP方式传输),然后服务器实时的将收到的来自PC2的RTP包,最后服务器用最初的PC1连接服务器时候的socket,向PC1发送RTP视频数据包。1、现在我的问题是,最后一个环节,用TCP转发RTP视频数据报文,会不会有问题啊,因为报文的结构是不一样的?
2、这是我的想法。您要是有更好的建议,请不吝指教!

解决方案 »

  1.   

    本人菜鸟`友情UP下`
    高手帮帮LZ咯`
      

  2.   


    既然这样,PC1直接向PC2发请求多好,省个服务器!!
    还是服务器上有特殊的东西,必须得用,没做过视频传输,UP
      

  3.   

    PC2是一台固定局域网内的计算机,它所在局域网的路由器IP是固定的。通过映射可以让PC2变成公网上的一台服务器,PC1可以随时访问
      

  4.   

    1、现在我的问题是,最后一个环节,用TCP转发RTP视频数据报文,会不会有问题啊,因为报文的结构是不一样的? 个人觉得应该是没有问题的,既然该过程由你所控制,不行的话,你可以再给把该数据包进行打包,只是到PC1时需要再次解包而已。
      

  5.   

    用TCP转发RTP视频数据报文,会不会有问题啊,因为报文的结构是不一样的? 
    只要你做好了,肯定不会有问题.TCP是可靠传输.
      

  6.   

    1、现在我的问题是,最后一个环节,用TCP转发RTP视频数据报文,会不会有问题啊,因为报文的结构是不一样的? RTP 是基于 UDP 的,用 TCP 传应该会有问题,TCP 是可靠连接的要求每个包必达, RTP 之所以选择 UDP 为基础协议就是 UDP 是无连接的如果当中出现丢包在 RTP 层可能就忽略这部分数据了,所以 VoIP 才会有时后声音断一下,或者图像传送的画面卡一下,那阻塞掉的内容就不会再重现了,这样才能保证画面和声音的延时不会随着时间的推移加大。
      

  7.   

    RTP,上百度看了一下,同意11楼的说法,
    直接用RTP吧,TCP和UDP好象都不行,就好象ftp一样,socket也应该能直接操作RTP吧建议楼主另开个贴子,<RTP协议相关> 有做过的人仕看到了自然会进来
      

  8.   

    那我想问一下,有基于TCP的RTP协议吗?