局域网下的单播与广播,VLC视频流实践

项目说明

导师项目需求是,将一台window上的实时桌面通过局域网传输,使得局域网中的其他PC也能够实时的看到该运行window上的桌面视图。

实践过程

参考过程

VLC – 使用VLC串流播放视频
在文章中,作者使用VLC播放器将一个视频转化成视频流,以UDP的格式将该视频流发布出去,这里有一个比较关键的点是,需要填写串流的目标位置,一个IP地址,局域网下的单播与广播,VLC视频流实践
原先我不理解这个串流的过程,以为是只要写本机的号码就可以实现局域网中的PC互相访问了,其实不对。
我在这里是使用手机打开热点,然后,两台笔记本同时连接这个手机热点,在手机中打开热点的设置就可以看到两个IP地址了而且都会写上笔记本的名字。win+R, cmd打开命令行就会出来本机的IP,这个IP是局域网下的IP,为了实现局域网的视频流互联当然是只需要局域网的IP就行了(局域网IP与公网IP不一样,公网IP可以在搜索引擎里搜IP地址归属地查询就可以看到了) 局域网下的单播与广播,VLC视频流实践
图中IPv4就是局域网地址,子网掩码区分前32位是网络地址,后8位是主机地址。

理解过程

1 串流目标地址

字面意思就是把这个视频流发送到这一台计算机上,它可以发给计算机自己,也可以发给可以发给其他的计算机(这里考虑同一个局域网下的计算机)。我一开始不知道,目标地址里边填写了本机的IP地址,然后在本机上可以重新启动一个VLC看到视频,但是在另外一个电脑上就连接不到了。原因就是一开始串流的时候,只把“流”传输给这个单一主机而已。
如果想让同一局域网下的另一台计算机B连接上本机发布的视频流,就是需要在设置串流的时候把目标ip地址设置成计算机B的IP地址。这样计算机B就可以连接上视频流,而本机却无法连接上该视频流。

2 局域视频流访问

这里跟广播有联系了,上边所设置的都是单一的IP地址,是属于一堆一的形式。在IP地址中有这么的规定,如果把IP地址中的主机地址都写成1的话,那么它就会对全网进行广播(当前局域网)。即使 192.168.43.255 全网广播

例子

计算机A-IP: 192.168.43.220, 计算机B-IP: 192.168.43.180

  1. A对自己串流,目标地址: 192.168.43.220,A 可以通过VLC查看串流 udp://@:1234,B无法连接视频流
  2. A对B串流,目标地址: 192.168.43.180,B 可以通过VLC查看串流 udp://@:1234,A无法连接视频流
  3. A对全网进行串流,目标地址:192.168.43.255 A可以 通过VLC查看串流 udp://@:1234,B通过VLC查看串流 udp://@:1234,此时A、B均可以连接视频流。
    注意 查看串流只能用 udp://@:1234 ,如果改成 udp://(计算机自己的IP):1234 这样是无法连接的,具体原因不详。