hauk0101 / video-hls-encrypt

一个基于hls协议的视频加密Demo
515 stars 124 forks source link

同一局域网下,另一台电脑无法播放HLS视频 #15

Closed weifeng727 closed 4 years ago

weifeng727 commented 4 years ago

2台电脑同一局域网而且都把防火墙关掉了,但是另外一台电脑就是到了点击播放按钮后出现以下提示 "The media could not be loaded, either because the server or network failed or because the format is not supported."。无法播放加密的HLS视频,而且用的都是chrome浏览器。想请教各位帮帮忙

weifeng727 commented 4 years ago

发现这么一个现象,如果在登陆页面以http://localhost:3000/index来登陆播放是成功的,但是localhost换成局域网IP就不行了,这种叫跨域问题?怎么解决呢?

weifeng727 commented 4 years ago

问题我搞懂了,我这种访问确实是跨域访问了,如果想要跨域访问,需要做一些搭建,默认项目是不能在另外一台设备去播放视频的,因为这会导致跨域访问,那么在另一台设备上如何非跨域的方式访问播放视频呢?需要保证m3u8文件里的key的URL用的不是localhost而是一个局域网IP或者域名,如:URI="http:// 192.168.10.201:3000/key/encrypt.key",另外,在player.js文件下的video_url也不能使用localhost而是同一个局域网IP或者域名,如video_url = 'http://192.168.10.201:3000/videos/encrypt/TaylorSwift-Mean_720P/playlist.m3u8';

hauk0101 commented 4 years ago

@weifeng727 是的,只要在启动之后,一直通过ip访问就可以了,在同一个局域网中不同设备都是可以进行播放的。