首页 前端知识 html|本地实现浏览器m3u8播放器,告别网络视频卡顿

html|本地实现浏览器m3u8播放器,告别网络视频卡顿

2025-02-25 13:02:56 前端知识 前端哥 479 78 我要收藏

前言

       网络上经常是以m3u8文件传输视频流的 ,但是有时网络慢往往导致视频播放卡顿。于是我在想能不能先下载然后再播放呢?于是尝试下载然后实现本地播放m3u8视频。

正文

1.找到网络视频流的m3u8连接

一般在浏览器按F12就可以看到有请求视频流的连接。

图片

2.通过迅雷下载

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

图片

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

图片

4.实现在本地浏览器播放

5.播放器代码

index.html

<!DOCTYPE html><html lang="zh-CN" data-bs-theme="dark"><head>    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">    <head>        <title>HLS Video Player</title>    </head><body style="background-color: rgb(199, 195, 195);">    <video id="video" controls width="100%"></video>    <div>        <input type="text" id="myInput" placeholder="请输入名称">        <button onclick="OnPlay()">播放</button>    </div>    <div id="text-container">        <!-- 文本内容将被插入到这里 -->    </div>    <script src="hls.js"></script>    <script>        console.log(window.location.hostname + window.location.port);        //获取文件内容        document.addEventListener('DOMContentLoaded', function () {            fetch('./m3u8/name.txt')                .then(response => response.text())                .then(text => {                    document.getElementById('text-container').innerText = text;                })                .catch(error => {                    console.error('Error loading text file:', error);                    document.getElementById('text-container').innerText = 'Error loading text file';                });        });        function OnPlay() {            var inputValue = document.getElementById('myInput').value;            var video = document.getElementById('video');            var hls = new Hls();            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.attachMedia(video);            hls.on(Hls.Events.MANIFEST_PARSED, function () {                video.play();            });        }    </script></body></html>

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优化后是不是就一个视频网站了?

转载请注明出处或者链接地址:https://www.qianduange.cn//article/21336.html
标签
评论
发布的文章

python调用ollama库详解

2025-02-25 13:02:30

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!