[php工具源码分享]IPTV直播源工具箱再添一款小工具–网页视频播放器,支持Socks5代理


原项目地址
https://github.com/xyz66882/Web-page-player



一句话总结:
👉 一个基于浏览器的多格式视频播放器 + IPTV工具 + 调试工具
特点:
-
在线播放(HTTP/HTTPS) -
本地视频文件拖拽播放 -
各类流媒体格式 -
内置 SOCKS5 / PHP 代理转发 -
可调整画面、滤镜、倍速、音量 -
支持播放历史记录和循环播放

整个播放器结构其实很清晰,主要由以下几个文件组成:
- index.html
:页面结构 + UI界面 + 控件布局 - main.js
:核心逻辑(播放器控制、格式判断、播放流程、交互处理) - proxy.php
:代理转发(解决跨域、鉴权、防盗链等问题) - style.css
:播放器样式文件(界面布局、主题风格、响应式适配) - hls.js
:HLS播放核心库(用于解析和播放 m3u8 流)
📌 简单理解一下分工:
👉 index.html 负责“长什么样”👉 style.css 负责“好不好看”👉 main.js 负责“怎么播放”👉 hls.js 负责“m3u8怎么解析”👉 proxy.php 负责“播放不了怎么救” 😄
这个文件比较大,这里为了加快网页加载速度,把它下载下来了。


播放器兼容性强,支持格式包括:
-
MP4 / WebM / MOV / AVI -
M3U8(HLS) -
FLV(直播流) -
MKV -
TS / MPEG 等
播放策略:
- M3U8 → HLS.js
- FLV / MKV → XGPlayer
- 普通视频 → 原生 video 标签
源码里直接定义了支持列表,实现自动判断格式并切换播放器,非常顺畅。


纯网页播放容易遇到这些问题:
-
❌ 跨域(CORS)限制 -
❌ 403 / 防盗链 -
❌ HTTPS 页面不能加载 HTTP 流 -
❌ 地区内网限制
这个修改版播放器内置了解决方案:
- SOCKS5 + PHP代理转发
-
代理开关 / IP / 端口 / 用户名密码 -
一键测试连接 -
浏览器 → proxy.php → 视频源
📌 原理:把视频流通过代理中转,实现跨域或 HTTPS/HTTP混合播放。
示例场景1:解决跨域CORS问题
网页播放器播放视频时容易遇到跨域错误(通常在控制台显示 CORS error 或 No ‘Access-Control-Allow-Origin’ header),这通常是因为视频文件(.mp4, .m3u8, .flv 等)存储在 A 服务器,而你的播放器页面运行在 B 域名下,浏览器出于版权保护和安全考虑,限制了跨域提取媒体数据。

这里代理配置保持为空,点击开启代理功能
此时播放视频就会使用php转发

示例场景2:使用socks5
比如我们想播放某省内网直播源,只需填写一个可用的某省socks5服务器ip和端口,开启代理
此时播放视频就会使用php进行socks5代理播放

另外,此php可以单独使用,在不支持socks5的播放软件里,输入此php代理格式的地址:例如
http://192.168.0.203/tools/player/proxy.php?action=stream&url=播放地址&proxy_host=socks5服务器ip&proxy_port=socks5端口
即可在其他播放器进行socks5代理播放。



折腾IPTV,这些功能还是比较实用的,就让AI加上了。
播放器会从 HLS 流中解析:
-
分辨率(如 1920×1080) -
帧率(fps) -
码率(Mbps)
显示效果类似:
1920×1080

不过目前做的比较简单,分辨率都能获取到,而码率和帧率只能从m3u8中读取显示,如果m3u8里没有定义,则不会显示。


🎛 画面调节与滤镜
-
旋转 / 镜像 / 缩放 -
亮度 / 对比度 / 饱和度 / 锐化 -
自定义背景图片 + 模糊度 -
内置滤镜预设:鲜艳 / 电影 / 黑白
这些功能在网页播放器里相当罕见,几乎接近桌面播放器体验。
📂 本地 + 在线混合播放
-
拖文件 → 本地播放 -
输入 URL → 在线播放 -
自动加入播放历史 -
支持列表循环 / 随机播放
⚠️ 播放错误处理细致
-
403 / 401 → 防盗链 -
404 → 地址不存在 -
CORS → 跨域限制 -
Decode → 解码失败
并提供明确提示,让新手也能快速定位问题。在原项目的基础上进行了部分调整,不过不尽如人意,还存在一些问题。


1️⃣ 下载整个tools目录2️⃣ 部署到php环境即可3️⃣ tools目录下的六个工具也可以单独下载使用

⚠️ 使用提醒:
-
所有视频源仅用于测试学习 -
请勿用于商业用途 -
注意版权和网络安全合规


这个修改版播放器延续了原项目的核心代码,使用中需要注意浏览器和协议限制:
1️⃣ HTTPS 与 HTTP 视频播放限制
HTTPS部署环境
-
只能播放 https://视频链接 -
无法播放 http://视频资源 -
原因:现代浏览器安全策略(混合内容限制) -
特例:部分浏览器(如 X 浏览器)可以忽略证书限制
HTTP部署环境
-
支持播放 http://和https://视频 -
更适合测试或局域网内部使用
⚠️ 注意:这是浏览器限制,与代码无关。
2️⃣ 移动端浏览器兼容性
-
某些手机浏览器可能无法播放抖音直播流(HLS/FLV) -
原因:部分浏览器对直播协议或 CDN 路径支持不完全 -
已验证可播放: -
vivo 自带浏览器 -
PC端 Edge / 360 浏览器
🧩 建议:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
3️⃣ 常见问题
Q:为什么视频无法加载?A:请检查视频链接是否符合当前部署环境的协议要求(HTTP/HTTPS)。
Q:如何让 HTTPS 页面播放 HTTP 视频?A:除非使用代理服务器转为 HTTPS,否则现代浏览器不允许此类操作。
Q:移动端无法播放直播怎么办?A:尝试更换浏览器,优先使用系统默认浏览器或 Chrome。


一句话总结:
👉 这是一个“为折腾党设计”的测试用播放器,而不是普通用户播放器
优点:
-
功能非常全 -
代理能力强 -
格式兼容好 -
可玩性高
不足:
-
依赖后端 proxy.php -
安全策略较宽(CSP全开) -
UI 更偏工具而非产品 -
浏览器限制比较多,很多视频无法播放


夜雨聆风