可能是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');
}); 网友回复
如何修改别人发给我的微信笔记内容?
fbx、obj、glb三维格式模型如何在浏览器中通过three相互转换格式?
python如何实现基于http隧道加密的正向代理服务?
有没有有专门针对 UI 界面截图进行智能标记(Set-of-Mark, SoM) 的开源库和工具?
如何用python实现Set-of-Mark (SoM) 技术?
python如何截取windows指定应用的窗口截图,不用管窗口是不是在最前面?
linux能不能给rm删除命令增加回收站功能,可恢复被删文件?
bfwsoa如何在命令行中执行控制器动作器方法?
RAG(检索增强生成)和 KG(知识图谱)有啥不同?
KVM硬件是啥?


