admin 发表于 2023-5-21 22:17:20

赞片cms导航系统V10 播放器新增教程

赞片ZanPianCmsV10 播放器添加说明:v10集成了ArtPlayer Dplayer Ckplayer Aplayer
如果自己添加了相关播放器那么在网站后台系统设置-视频设置-云播放器调用地址:留空否则会调用官方的播放器
播放器JS内容说明
播放器JS相关标签
//广告页面缓冲页面
document.write('<iframe class="zanpiancms-play-iframe" id="buffer" src="'+zanpiancms_player.adurl+'" width="100%" height="100%" frameborder="0" scrolling="no" style="position:absolute;z-index:9;display:none"></iframe>');
//
//播放地址输出下面为直接使用iframe输出页面也可以是其他媒体标签
document.write('<iframe class="zanpiancms-play-iframe" src="'+zanpiancms_player.url+'" allowFullscreen="true" width="100%" height="100%"frameborder="0" scrolling="no"></iframe>');
//
//下面为广告的一些相关参数
ads_show();
function ads_show(){
      try{
                if(zanpiancms_player.adurl!=null && zanpiancms_player.adtime>0){
                        document.getElementById("buffer").style.display = "block";
                        setTimeout("document.getElementById(\"buffer\").style.display=\"none\"",zanpiancms_player.adtime*1000);      
                }else{
                        setTimeout(function(){ads_show();},200);
                }
                }catch(e){}
}
//
播放器添加:
添加修改播放器请先确认/public/player/ 目录存在修改写入权限,否则添加和修改JS将会失败
V10版本新增了播放器JS模版,如下图,可以更具改播放器地址类型选择相关JS模版后将自动增加播放器JS
https://img.kancloud.cn/aa/d1/aad1d3e88516c52a4513074c8b6b8e70_1887x941.png
列子1:添加解析播放器
比如视频网站的地址是需要解析才能正常播放的那么我们就需要使用解析地址并创建相关的播放器JS
https://img.kancloud.cn/34/8f/348fe4184c21eb152bf2819a9d249a3d_1890x944.png
播放器代码:播放器模版选择解析模版
https://img.kancloud.cn/d2/b1/d2b13993c0f11306f6be4c61b81abecf_1872x944.png
解析地址说明:
一般各大视频网站播放器调用视频都是按照使用ID(目前大部分资源都为网址资源很少为ID资源了)也可以自己写相关程序进行判断视频网址的的ID并进行输出播放器
所以这些播放器最好使用官方的解析在解析中填写
http://cdn.97bike.com/api/?type={playname}&url=
列子2:添加MU38放器 (M3U8 MP4能在线资源可以使用ArtPlayer Dplayer Ckplayer Aplayer播放器模版)
比如目前外面提供的大部分采集资源都是用的m3u8资源,那么我们就更具该资源的名称创建一个m3u8播放器
https://img.kancloud.cn/e5/b6/e5b6af70399af22a0a7a71a424244c9f_1897x944.png
播放器代码:播放器模版选择 ArtPlayer Dplayer Ckplayer Aplayer 其中一个就行了建议选择ArtPlayer
https://img.kancloud.cn/2d/4e/2d4efab6e47472e70729ff5a3fc861c8_1914x952.png
列子3:添加外链放器 也就是资源在浏览器打开可以直接播放比如一些云播资源
https://img.kancloud.cn/60/da/60da7cc22deec68ac2eb713cd16b70da_1670x885.png
播放器代码:播放器模版选择:iframe
https://img.kancloud.cn/d6/5b/d65b90d4bf280b4b5599b43d5c3aa6e2_1888x933.png
播放地址加密:
有时候想要加密自己的播放地址那么我们改怎么设置呢。
首先找到你要加密的播放器,然后修改填写:解析地址、加密密匙、加密时间
https://img.kancloud.cn/07/71/0771641e9a01493af446cf0a85c00657_1591x789.png
填写后播放地址就将加密,那么我们在解析地址中接收到加密后的播放地址那么我们就需要先将播放地址解密然后进行播放
下面为解密是用的方法
//播放地址加密解密方法
    //string 需要加密解密字符串
    //operation参数 DECODE解密 ENCODE加密
    //key 密匙
    //expiry 过期时间
   function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {
          // 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙
          $ckey_length = 4;
          // 密匙
          $key = md5($key ? $key : 'zanpiancms');
          // 密匙a会参与加解密
          $keya = md5(substr($key, 0, 16));
          // 密匙b会用来做数据完整性验证
          $keyb = md5(substr($key, 16, 16));
          // 密匙c用于变化生成的密文
          $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : '';
          // 参与运算的密匙
          $cryptkey = $keya.md5($keya.$keyc);
          $key_length = strlen($cryptkey);
          // 明文,前10位用来保存时间戳,解密时验证数据有效性,10到26位用来保存$keyb(密匙b),解密时会通过这个密匙验证数据完整性
          // 如果是解码的话,会从第$ckey_length位开始,因为密文前$ckey_length位保存 动态密匙,以保证解密正确
          $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string;
          $string_length = strlen($string);
          $result = '';
          $box = range(0, 255);
          $rndkey = array();
          // 产生密匙簿
          for ($i = 0; $i <= 255; $i++) {
                  $rndkey[$i] = ord($cryptkey[$i % $key_length]);
          }
          // 用固定的算法,打乱密匙簿,增加随机性,好像很复杂,实际上对并不会增加密文的强度
          for ($j = $i = 0; $i < 256; $i++) {
                  $j = ($j + $box[$i] + $rndkey[$i]) % 256;
                  $tmp = $box[$i];
                  $box[$i] = $box[$j];
                  $box[$j] = $tmp;
          }
          // 核心加解密部分
          for ($a = $j = $i = 0; $i < $string_length; $i++) {
                  $a = ($a + 1) % 256;
                  $j = ($j + $box[$a]) % 256;
                  $tmp = $box[$a];
                  $box[$a] = $box[$j];
                  $box[$j] = $tmp;
                  // 从密匙簿得出密匙进行异或,再转成字符
                  $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));
          }
          if($operation == 'DECODE') {
                  // substr($result, 0, 10) == 0 验证数据有效性
                  // substr($result, 0, 10) - time() > 0 验证数据有效性
                  // substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16) 验证数据完整性
                  // 验证数据有效性,请看未加密明文的格式
                  if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) {
                          return substr($result, 26);
                  } else {
                          return '';
                  }
          } else {
                   // 把动态密匙保存在密文里,这也是为什么同样的明文,生产不同密文后能解密的原因
                   // 因为加密后的密文可能是一些特殊字符,复制过程可能会丢失,所以用base64编码
                   return $keyc.str_replace('=', '', base64_encode($result));
          }
    }       
是用上面方法解密播放地址
是用上面方法解密播放地址

authcode($url,$operation,$key);
//$url 为需要解密的播放地址
//$operation 类型 DECODE解密 ENCODE加密
//key 密匙
//expiry 过期时间
下面为使用方法
$url=authcode($url, 'DECODE',$key);


播放器设置说明:
https://img.kancloud.cn/4c/a3/4ca3f8d4dc7e86f98a8647a9b3b4328b_1685x896.png
https://img.kancloud.cn/cc/1b/cc1bad01b54b57dfcf844f2e64c3a377_1681x903.png
播放器排序在系统设置-视频设置中设置全局排序方式
https://img.kancloud.cn/0f/b5/0fb523f385812d6b686991df9f0500c7_1197x258.png
在视频视频内容中单独设置排序方式
https://img.kancloud.cn/62/2d/622d12ef5f861fa45490bbe1e79639c5_1667x801.png
https://img.kancloud.cn/df/28/df28488f1ce8d371877ef96a23a664aa_1650x315.png
排序方式的优先权:内容排序>全局排序
版权跳转说明https://img.kancloud.cn/69/bb/69bbc05eae5e88890d1d7fd373ecd105_1666x838.png
播放方式说明1.在系统设置-视频设置-播放方式 设置全局播放方式
https://img.kancloud.cn/b0/1d/b01d5b12c60675e75b37ed40b8fc938e_1677x294.png
2.在视频内容中单独设置播放方式-
https://img.kancloud.cn/58/08/5808ac130ab19bd77e5acdff5f6dfb32_1622x609.png

页: [1]
查看完整版本: 赞片cms导航系统V10 播放器新增教程