apache - 如何使用 htaccess 将视频流重定向到另一个域
问题描述
如何使用 htaccess 将视频流重定向到另一个域?我正在构建一个应用程序,我可以在其中自定义包含电影、连续剧和直播电视的 m3u 播放列表。我正在编写一个 xtream-codes api 模拟器,所以基本上我正在返回一个不同的播放列表(最小化/编辑) - 但我希望 htaccess 将流请求重定向到源。
播放列表/api url 如下所示:
/player_api.php?username=user&pass=pass&action=get_live_categories
流 url 的样子:
/user/pass/streamid.ts
我尝试使用 php 重定向,但这不是要走的路。我还尝试在 dns 级别进行重定向-但这不好,因为我只能重定向完整的域/子域
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([-a-zA-Z0-9]+)\.iptv-manager\.xxx$ [NC]
RewriteRule ^((?!index\.php$).*)$ http://player-api.iptv-manager.xxx/index.php?subdomain=%1&route=$1 [QSA,P]
上面的代码路由任何子域(通配符)和路由,然后由 php 代码处理。但我似乎无法通过 php 路由视频流。
[编辑] 作为对我正在尝试构建的内容的更多解释:我正在尝试为 Xtream-Editor 在线播放列表编辑器创建替代方案。由于 Xtream-Codes api 的工作方式 - 它将获取基本 url (player_api) 并将其与流 id 一起使用来构建流 url;
因为我希望能够让用户不仅可以编辑他们的 m3u 列表,还可以在 xtream 代码 api 播放器中提供自定义列表 - 如果我在对我的 player_api 的初始调用中设置提供程序主机,它将加载来自的流和类别提供者 - 而不是用户想要加载的修改列表。
所以我没有尝试以不同的名称转售流 - 我已经制作了一个广泛使用的 m3u 编辑器,但它是基于 Windows 的,并且需要用户在提供者更改其流时手动更新列表。
解决方案
您需要通过 php 完成它,.htaccess
重定向仅适用于完整域所以使用您.htaccess
的重定向到 php。
.htacess
RewriteRule ^live/(.*)/(.*)/(.*)$ yourphp.php?u=$1&p=$2&c=$3 [L,NE]
RewriteRule ^(.*)/(.*)/(.*)$ yourphp.php?u=$1&p=$2&c=$3 [L,NE]
php
文件
<?php
$c = str_replace (".ts","",$_GET['c']);
header("location: http://244.117.154.34:25461/".$c.".ch?u=".$_GET['u'].":p=".$_GET['p']."",false, 307);
将 xc 重定向到 m3u 或将 json 重定向到 m3u 所做的事情
推荐阅读
- android - 使用 mockk 匹配任何可变参数
- visual-studio-code - vscode扩展改变标题栏的颜色
- java - 如何在 H2 数据库的单元测试之间重新运行 hbm2ddl?
- adsense - 手机和平板电脑上的空白响应横幅 (sizeMapping)
- react-native - React-Native Flexbox - 将一项放在垂直中心,另一项放在底部
- javascript - 如何在函数 rxjs 中使用 observable 和管道?
- angular - 引导材料设计导致 Angular 5 的点击事件出现问题
- html - VB.net 在文本中查找特定字符串
- java - 使用开源工具进行混淆是否安全?
- python - 使用普通字符搜索不起作用,但它正在使用特殊字符