找回密码
 立即注册
搜索
查看: 331|回复: 12

请大佬帮忙写个php

  [复制链接]

5

主题

43

回帖

105

积分

注册会员

积分
105
发表于 2025-11-6 14:15:32 | 显示全部楼层 |阅读模式
https://www.sztv.com.cn/dianshi.shtml?id=24725   这是深圳卫视的官网,恳请大佬们帮写一个php,在此感谢大佬!!

2

主题

23

回帖

104

积分

注册会员

积分
104
发表于 2025-11-6 15:34:08 | 显示全部楼层
  1. <?php
  2. $channelId = $_GET['id'] ?? 'szdsj';

  3. $channelMap = [
  4.     'szws4k' => 'R77mK1v',  // Shenzhen Satellite TV 4K
  5.     'szws'   => 'AxeFRth',   // Shenzhen Satellite TV
  6.     'szds'   => 'ZwxzUXr',   // Urban Channel
  7.     'szdsj'  => '4azbkoY',   // TV Drama Channel
  8.     'szgg'   => '2q76Sw2',   // Public Channel
  9.     'szcj'   => '3vlcoxP',   // Finance Channel
  10.     'szyl'   => '1q4iPng',   // Entertainment Channel
  11.     'szse'   => '1SIQj6s',   // Children's Channel
  12.     'szyd'   => 'wDF6KJ3',   // Mobile TV
  13.     'szyh'   => 'BJ5u5k2',   // E-Shopping Channel
  14.     'szgj'   => 'sztvgjpd',  // International Channel
  15. ];

  16. $baseUrl = "https://sztv-hls.sztv.com.cn";
  17. $secretKey = "bf9b2cab35a9c38857b82aabf99874aa96b9ffbb";
  18. $expiryTime = dechex(time() + 7200);
  19. $bitrate = "500";

  20. if (!isset($channelMap[$channelId])) {
  21.     $channelId = 'szdsj';
  22. }

  23. $streamPath = '/' . $channelMap[$channelId] . '/' . $bitrate . '/' .
  24.               generateStreamToken($channelMap[$channelId]) . '.m3u8';

  25. $authSignature = md5($secretKey . $streamPath . $expiryTime);
  26. $streamUrl = $baseUrl . $streamPath . "?sign={$authSignature}&t={$expiryTime}";

  27. header("Location: $streamUrl");

  28. function generateStreamToken($channelCode) {
  29.     $baseTimestamp = strtotime('today') * 1000;
  30.     $sum1 = 0;
  31.     $sum2 = 0;
  32.     $prevChar = -1;
  33.    
  34.     foreach (str_split($channelCode) as $currentChar) {
  35.         $charValue = ord($currentChar);
  36.         $sum1 += $charValue;
  37.         
  38.         if ($prevChar != -1) {
  39.             $sum2 += ($prevChar - $charValue);
  40.         }
  41.         
  42.         $prevChar = $charValue;
  43.     }
  44.    
  45.     $combinedSum = $sum1 + $sum2;
  46.     $sumBase36 = base_convert($combinedSum, 10, 36);
  47.     $timeBase36 = base_convert($baseTimestamp, 10, 36);
  48.    
  49.     $timeSum = array_sum(array_map('ord', str_split($timeBase36)));
  50.     $timeReordered = substr($timeBase36, 5) . substr($timeBase36, 0, 5);
  51.    
  52.     $difference = abs($timeSum - $combinedSum);
  53.     $mixedString = strrev($sumBase36) . $timeReordered;
  54.    
  55.     $prefix = substr($mixedString, 0, 4);
  56.     $suffix = substr($mixedString, 4);
  57.    
  58.     $dayParity = date('w') % 2;
  59.     $tokenParts = [];
  60.    
  61.     foreach (str_split($channelCode) as $index => $char) {
  62.         if ($index % 2 == $dayParity) {
  63.             $tokenParts[] = $mixedString[$index % strlen($mixedString)];
  64.         } else {
  65.             $prevIndex = $index - 1;
  66.             if ($prevIndex >= 0) {
  67.                 $prevChannelChar = $channelCode[$prevIndex];
  68.                 $posInPrefix = strpos($prefix, $prevChannelChar);
  69.                 $tokenParts[] = ($posInPrefix === false) ? $prevChannelChar : $suffix[$posInPrefix];
  70.             } else {
  71.                 $tokenParts[] = $prefix[$index % strlen($prefix)];
  72.             }
  73.         }
  74.     }
  75.    
  76.     $differenceBase36 = strrev(base_convert($difference, 10, 36));
  77.     $finalToken = $differenceBase36 . implode('', $tokenParts);
  78.    
  79.     return substr($finalToken, 0, strlen($channelCode));
  80. }
  81. ?>
复制代码

点评

这玩意要在哪里才能播放,能够获取地址就我无法播放  发表于 2025-11-20 07:49

14

主题

97

回帖

127

积分

注册会员

积分
127
发表于 2025-11-6 15:39:44 | 显示全部楼层

厉害了 能不能发个如何**PHP的过程呢?

14

主题

97

回帖

127

积分

注册会员

积分
127
发表于 2025-11-6 15:40:45 | 显示全部楼层
gz53713565 发表于 2025-11-6 15:39
厉害了 能不能发个如何**PHP的过程呢?

如何编写PHP的过程?

0

主题

27

回帖

73

积分

注册会员

积分
73
发表于 2025-11-6 16:04:14 | 显示全部楼层

大佬牛逼,能帮忙把我这两个写一个么?万分感谢!!
https://yshs.hsgd.net.cn/app/tv/85
https://www.dayeyun.cn/app/tv/4

点评

大冶一套,http://dayeyun-live21.cjyun.org/10102/s10102-TC1T.m3u8?auth_key=1767196799-ced13be0a8ae11efa7dfa7dfd677b8f3-0-c3d27fbc279c3efc9187853aca3da012  发表于 2025-11-6 19:19
黄石新闻综合,http://huangshifb-live21.cjyun.org/10200/s10200-huangshitv01.m3u8?auth_key=1767196799-ced13be0a8ae11efa7dfa7dfd677b8f3-0-e22af05072c6fa8bc1fc35e042e97467  发表于 2025-11-6 19:19

2

主题

28

回帖

99

积分

注册会员

积分
99
发表于 2025-11-6 17:57:37 | 显示全部楼层
caodeli 发表于 2025-11-6 15:34

厉害了

0

主题

27

回帖

73

积分

注册会员

积分
73
发表于 2025-11-6 20:05:15 来自手机 | 显示全部楼层
level 发表于 2025-11-6 16:04
大佬牛逼,能帮忙把我这两个写一个么?万分感谢!!
https://yshs.hsgd.net.cn/app/tv/85
https://www.da ...

不是php代码么😂

0

主题

47

回帖

128

积分

注册会员

积分
128
发表于 2025-11-6 20:20:06 来自手机 | 显示全部楼层
点个赞,帮一下

5

主题

43

回帖

105

积分

注册会员

积分
105
 楼主| 发表于 2025-11-7 08:05:48 | 显示全部楼层

0

主题

15

回帖

62

积分

注册会员

积分
62
发表于 2025-11-7 09:00:28 | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|直播源论坛