可能是m3u8的服务端进行了限制,例如根据user_agent来进行限制,所以导致potplayer无法播放,由于potplayer无法修改自己http请求user_agent,所以可以考虑给m3u8搭建一个中间代理,这是我用nodejs搭建的,可以参考:
const http = require('http'); const httpProxy = require('http-proxy'); // 创建一个代理服务器实例 const proxy = httpProxy.createProxyServer({ ws: true, changeOrigin: true, secure: false }); // 修改请求头中的 Host 字段 proxy.on('proxyReq', (proxyReq, req, res, options) => { proxyReq.setHeader('Host', 'm3u8域名'); }); // 创建一个HTTP服务器 const server = http.createServer((req, res) => { // 设置目标服务器地址 const target = 'https://m3u8域名'; // 添加跨域头 res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization'); // 处理预检请求 if (req.method === 'OPTIONS') { res.writeHead(204); res.end(); return; } // 代理请求到目标服务器 proxy.web(req, res, { target }); }); // 处理代理服务器错误 proxy.on('error', (err, req, res) => { console.error('Proxy error:', err); res.writeHead(500, { 'Content-Type': 'text/plain' }); res.end('Something went wrong. Please try again later.'); }); // 启动服务器,监听端口8000 server.listen(8000, "0.0.0.0", () => { console.log('Proxy server is running on http://localhost:8000'); });
网友回复
如何编写一个chrome插件实现多线程高速下载大文件?
cdn版本的vue在网页中出现typeerror错误无法找到错误代码位置怎么办?
pywebview能否使用webrtc远程控制共享桌面和摄像头?
pywebview6.0如何让窗体接受拖拽文件获取真实的文件路径?
如何在linux系统中同时能安装运行apk的安卓应用?
python有没有离线验证码识别ocr库?
各家的ai图生视频及文生视频的api价格谁最便宜?
openai、gemini、qwen3-vl、Doubao-Seed-1.6在ui截图视觉定位这款哪家更强更准?
如何在linux上创建一个沙箱隔离的目录让python使用?
pywebview如何使用浏览器自带语音识别与webspeech 的api?