前言
网络上经常是以m3u8文件传输视频流的 ,但是有时网络慢往往导致视频播放卡顿。于是我在想能不能先下载然后再播放呢?于是尝试下载然后实现本地播放m3u8视频。
正文
1.找到网络视频流的m3u8连接
一般在浏览器按F12就可以看到有请求视频流的连接。

2.通过迅雷下载
复制链接到迅雷,新增下载任务,!!下载的时候设置好中文名字和选集(后面需要用到)。

3.下载后的文件正常是可以在迅雷上播放

4.实现在本地浏览器播放
5.播放器代码
index.html
| <html lang="zh-CN" data-bs-theme="dark"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>HLS Video Player</title> |
| <body style="background-color: rgb(199, 195, 195);"> |
| <video id="video" controls width="100%"></video> |
| <input type="text" id="myInput" placeholder="请输入名称"> |
| <button onclick="OnPlay()">播放</button> |
| <div id="text-container"> |
| <script src="hls.js"></script> |
| console.log(window.location.hostname + window.location.port); |
| document.addEventListener('DOMContentLoaded', function () { |
| .then(response => response.text()) |
| document.getElementById('text-container').innerText = text; |
| console.error('Error loading text file:', error); |
| document.getElementById('text-container').innerText = 'Error loading text file'; |
| var inputValue = document.getElementById('myInput').value; |
| var video = document.getElementById('video'); |
| console.log(window.location.hostname + ":" + window.location.port + "/m3u8/" + inputValue + "/index.m3u8"); |
| hls.loadSource("http://" + window.location.hostname + ":" + window.location.port + "/m3u8/" + inputValue + "/index.m3u8/index.m3u8"); |
| hls.on(Hls.Events.MANIFEST_PARSED, function () { |
复制
hls.js

源码下载链接
https://download.csdn.net/download/weixin_42401291/90108896
6.此时可以通过浏览器正常播放网络的m3u8视频

但是还是网络视频不能播放本地的视频
7.我们需要用到IIS部署网页和转发m3u8视频流
部署后局域网内都是可以实现播放视频的
8.windos 10安装IIS



勾选后点击确认安装
等待安装
9.打开IIS

10.创建网站
右键创建网站

选择index.html文件目录

设置可以传输的文件格式

新增MIME类型
.m3u8
application/x-mpegURL

创建m3u8视频存放文件夹
复制之前下载的视频文件到文件夹中
执行生成名称列表脚本

11.此时可以通过本机ip加端口访问播放器网页了


此时通过名字就可以播放视频了
同一个局域也是如此
最后
通过以上步骤已经完成实现本地播放m3u8视频,部署过程有什么疑问欢迎探讨。
UI优化后是不是就一个视频网站了?