跳到主要内容

tvb iNews PHP

  • 新帖
  • 热门
  • 精选

tvb iNews PHP

thapana 2y ago in IPTV · 0 views
<?php
/*
    .php?id=0&hq 無線新聞台1080P
    .php?id=0 無線新聞台720P
    .php?id=1 無線新聞台360P
    .php?id=2&hq 無線財經·體育·資訊台1080P
    .php?id=2 無線財經·體育·資訊台720P
    .php?id=3 無線財經·體育·資訊台360P
    .php?id=4&hq 事件直播頻道1 1080P(全清晰度)
    .php?id=4 事件直播頻道1 720P
    .php?id=5 事件直播頻道1 576P
    .php?id=6&hq 事件直播頻道2 1080P(全清晰度)
    .php?id=6 事件直播頻道2 720P
    .php?id=7 事件直播頻道2 576P
*/
$id = $_GET['id'];
$ids = ['I-NEWS','I-NEWS','I-FINA','I-FINA','NEVT1','NEVT1','NEVT2','NEVT2'];
$hq = $_GET['hq'];
if(!isset($ids[$id])) {
    exit();
};
$clientIP = $_SERVER['REMOTE_ADDR'];

// 检查是否同时有IPv4和IPv6地址
if (strpos($clientIP, ',') !== false) {
    // 同时有IPv4和IPv6地址,分离出来
    $ipList = explode(',', $clientIP);
    $ipv6 = trim($ipList[0]); // 取第一个IP(IPv6)
    $ipv4 = trim($ipList[1]); // 取第二个IP(IPv4)

    // 优先使用IPv6
    $ip = $ipv6;
} elseif (filter_var($clientIP, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
    // 只有IPv6地址
    $ip = $clientIP;
} else {
    // 只有IPv4地址 
    $ip = $clientIP;
}

$headers = array(
    'User-Agent: Dart/2.19 (dart:io)',
    'Content-Type: application/json',
    'Accept-Encoding: gzip',
    'Host: inews-api.tvb.com', 
    'CLIENT-IP: '.$ip,
    'X-FORWARDED-FOR: '.$ip
);

// 其他代码保持不变
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'https://inews-api.tvb.com/news/checkout/live/hd/ott_'.$ids[$id].'_h264?profile=safari');
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
$data = curl_exec($ch);
curl_close($ch);
$json = json_decode($data);
$url = $json->content->url;
if(isset($hq)) {
    if($id == '4' || $id == '5' || $id == '6' || $id == '7') {
        header('location:'.preg_replace('/&p=(.*?)$/','',$url->hd));
    } else {
        header('location:'.preg_replace('/&p=(.*?)$/','&p=3000',$url->hd));
    };
} else if($id == '0' || $id == '2' || $id == '4' || $id == '6') {
    header('location:'.$url->hd);
} else {
    header('location:'.$url->sd);
};

增加了互动窗的事件1和事件2

thapana #1 2024年07月23日

值得注意的是,如果使用了广告拦截的,一定要对ads.cdn.tvb.com放行,tvb很聪明把drm的keys放在这个域名,一旦拦截广告,也同时播放不了电视。😂

回复此楼 修改
lolee #2 2024年07月23日

感谢,已观看。

回复此楼 修改
ck95960 #3 2024年07月24日

可以看,在只能在网页上播放,在播放器里不能播放。

回复此楼 修改
thapana #4 2024年07月24日
对 ck95960 #3 回复

因为有drm,ads.cdn.tvb.com会加载keys,如果播放器支持加载keys,也可以放。

回复此楼 修改
tongxunlu #5 2024年07月25日
对 ck95960 #3 回复

如果这个代码是旧的那个tvb.php,我用ios的 aptv可以播放, 有2个方法,一个是aptv开科学访问第一次,拿到了key后就可以随便看, 一个就是网页打开一次,然后aptv就可以随便看.

如果还是看不成,那就必须开科学才能看

回复此楼 修改
yf1197565391 #6 2024年07月25日

宝塔家庭内网服务器无法播放

回复此楼 修改
evem #7 2024年07月25日

感谢分享,牛逼了大哥😄

回复此楼 修改
coding #8 2024年07月25日

倒也不用这么麻烦。。

回复此楼 修改
gvacnt #9 2024年07月25日

tvb的源很麻烦,音频和视频是分开的,而且码率也是分开的,还有drm和cookie验证,播放很复杂,首次加载很久

回复此楼 修改
phang999 #10 2024年07月26日

有TVB生活台的吗

回复此楼 修改
thapana #11 2024年07月26日
对 phang999 #10 回复

https://www.tvbanywhere.com/tc/webtv/channel/67/3/TVB%E7%94%9F%E6%B4%BB%E5%8F%B0-%E7%9B%B4%E6%92%AD%E9%A0%BB%E9%81%93%E5%8D%80 这

回复此楼 修改
收到新回复,点击立即加载
需要 登录 后方可回复, 如果你还没有账号请 注册新账号
thapana
@thapana
统计信息
会员
1,786
话题
259
回帖
2,955
活跃会员 查看排行
Devin
Koguan
nt01xp
jmk92
859876741
kewycjy
cnvc
kkk00011
0xyyyy
wayne630
zf7222749
zmy123
Unlovely
bos5201314
scjxx
once
wykds
LeoXD
a15ban
gally

A digital lifestyle community co-maintained by Pixer

本网站服务器由 提供,CDN 由 提供,基于 Homeland 构建,采用 Docker 部署。