乐于分享
好东西不私藏

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

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

📺前言
很久没有折腾我的IPTV工具箱里,这几天寻思我的工具箱还缺一个工具,考虑再三,决定搞一个支持Socks5的播放器,方便测试直播源播放情况。
工具箱介绍参看:
多合一 IPTV / 直播源工具箱:从格式整理到代理验证,一站式搞定
【php工具】SOCKS5 代理批量验证神器一键检测代理质量 + 智能匹配直播源,效率直接起飞!
【php工具】直播源扫描神器:支持模板变量 + SOCKS5 代理,一键批量检测!
SOCKS5 代理直播源测试工具的功能升级与优化–支持TXT列表格式
直播源响应测试工具一个为 IPTV / 直播源 / 代理测试而生的 Web 工具
折腾了几天AI,写的播放器总是差强人意,后面还是从Github找了个开源项目,让AI进行修改,增加了一些需要的实用功能。

原项目地址

https://github.com/xyz66882/Web-page-player
不得不说,这个播放器比AI写的强多了(主要是我水平太差),如果没有socks5代理需求,建议直接使用这个原版,单html文件,本地使用非常方便。
废话不多说,接下来介绍我拿AI修改过的版本。
核心功能:php代理支持!
🧩 一、这到底是个什么播放器?

    一句话总结:

    👉 一个基于浏览器的多格式视频播放器 + 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 负责“播放不了怎么救” 😄

    注意:hls.js是远程获取的,例如
    https://cdnjs.cloudflare.com/ajax/libs/hls.js/1.6.13/hls.js

    这个文件比较大,这里为了加快网页加载速度,把它下载下来了。

    🎥 二、支持的视频格式比较全面

        播放器兼容性强,支持格式包括:

        • 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

          25P / 4.2M

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

          🎛 五、其他功能

          🎛 画面调节与滤镜

          • 旋转 / 镜像 / 缩放
          • 亮度 / 对比度 / 饱和度 / 锐化
          • 自定义背景图片 + 模糊度
          • 内置滤镜预设:鲜艳 / 电影 / 黑白

          这些功能在网页播放器里相当罕见,几乎接近桌面播放器体验。


          📂 本地 + 在线混合播放

          • 拖文件 → 本地播放
          • 输入 URL → 在线播放
          • 自动加入播放历史
          • 支持列表循环 / 随机播放

          ⚠️ 播放错误处理细致

          • 403 / 401 → 防盗链
          • 404 → 地址不存在
          • CORS → 跨域限制
          • Decode → 解码失败

          并提供明确提示,让新手也能快速定位问题。在原项目的基础上进行了部分调整,不过不尽如人意,还存在一些问题。

          🚀 六、部署建议
          部署比较简单,不详述了,简单说下:

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

          ⚠️ 使用提醒:

          • 所有视频源仅用于测试学习
          • 请勿用于商业用途
          • 注意版权和网络安全合规
          下载地址后台回复  20260430 
          🌐 七、协议与部署注意事项

            这个修改版播放器延续了原项目的核心代码,使用中需要注意浏览器和协议限制:

            1️⃣ HTTPS 与 HTTP 视频播放限制

            HTTPS部署环境

            • 只能播放 https:// 视频链接
            • 无法播放 http:// 视频资源
            • 原因:现代浏览器安全策略(混合内容限制)
            • 特例:部分浏览器(如 X 浏览器)可以忽略证书限制

            HTTP部署环境

            • 支持播放 http:// 和 https:// 视频
            • 更适合测试或局域网内部使用

            ⚠️ 注意:这是浏览器限制,与代码无关。


            2️⃣ 移动端浏览器兼容性

            • 某些手机浏览器可能无法播放抖音直播流(HLS/FLV)
            • 原因:部分浏览器对直播协议或 CDN 路径支持不完全
            • 已验证可播放:
              • vivo 自带浏览器
              • PC端 Edge / 360 浏览器

            🧩 建议:

            使用场景
            推荐部署方式
            说明
            本地播放
            本地
            无跨域限制,适合调试
            局域网内分享
            HTTP部署
            可播放所有协议开头的视频
            公网访问
            HTTPS部署
            需统一使用 HTTPS 视频源

            3️⃣ 常见问题

            Q:为什么视频无法加载?A:请检查视频链接是否符合当前部署环境的协议要求(HTTP/HTTPS)。

            Q:如何让 HTTPS 页面播放 HTTP 视频?A:除非使用代理服务器转为 HTTPS,否则现代浏览器不允许此类操作。

            Q:移动端无法播放直播怎么办?A:尝试更换浏览器,优先使用系统默认浏览器或 Chrome。

            📌 总结

            一句话总结:

            👉 这是一个“为折腾党设计”的测试用播放器,而不是普通用户播放器

            优点:

            • 功能非常全
            • 代理能力强
            • 格式兼容好
            • 可玩性高

            不足:

            • 依赖后端 proxy.php
            • 安全策略较宽(CSP全开)
            • UI 更偏工具而非产品
            • 浏览器限制比较多,很多视频无法播放
            网页播放器限制比较多,只适合测试使用。观看视频,还是建议使用专业播放软件。
            后台回复“20260430” 获取源码仓库