目前Ripro主题在视频播放方面支持本地视频和URL视频,并不能播放腾讯视频和优酷视频。这里就介绍一下可以播放腾讯视频的方法。

原理:

通过代码解析出腾讯视频播放页面中视频的真实URL,从而进行播放。(其他视频网站目前还没找到解析方法,故暂时无法支持)

修改方法:

①复制下面解析函数代码,放到function.php最下面。

/**
* 解析视频url
*/
function wp37_get_video($url){
    
    $url_array = parse_url($url);
    $host = $url_array['host'];
    $path = $url_array['path']?$url_array['path']:null;
    
    if ($host == 'v.qq.com' && !empty($path)) {
        $parse_path =   pathinfo($path);
        $vids       =   $parse_path['filename'];
        $json_url   =   'https://vv.video.qq.com/getinfo?vids='.$vids.'&platform=101001&charge=0&otype=json';
        $json       =   file_get_contents($json_url);
        preg_match('/^QZOutputJson=(.*?);$/',$json,$json2);
        $tempStr    =   json_decode($json2[1],true);
        $video_url  =   'https://ugcws.video.gtimg.com/'.$tempStr['vl']['vi'][0]['fn'].'?vkey='.$tempStr['vl']['vi'][0]['fvkey'];
        $img_url    =   'https://puui.qpic.cn/qqvideo_ori/0/'.$vids.'_496_280/0.jpg';
        $out_put['url'] = $video_url;
        $out_put['img'] = $img_url;
    }else{
        $out_put['url'] = $url;
        $out_put['img'] = null;
    }
    return $out_put;
}

②修改parts/video-box.php文件

//找到如下代码(约131行)
}else{
    $cao_video_url = _get_post_video_url();
 }
//在上面代码下面填写如下代码
  $video_info = wp37_get_video($cao_video_url);
  $wp37_video_url = $video_info['url'];
  if(empty($video_info['img'])){
    $wp37_video_img = $cao_video_img;
  }else{
    $wp37_video_img = $video_info['img'];
  }
//找到如下代码(约138行开始)
const dp = new DPlayer({
      container: document.getElementById('ripro-mse'),
      logo: '<?php echo $site_logo;?>',  //LOGO
      video: {
          url: '<?php echo $cao_video_url;?>',  //视频地址
          type: 'auto', //视频类型
          pic: '<?php echo $cao_video_img;?>', //视频类型
      },
//修改video的部分,修改后如下
video: {
          url: '<?php echo $wp37_video_url;?>',  //视频地址
          type: 'auto', //视频类型
          pic: '<?php echo $wp37_video_img;?>', //视频类型
      },

演示说明

修改后可以自动播放腾讯视频,去除腾讯的广告,并调用腾讯视频的缩略图,具体查看本页视频演示,此页面的视频配置如下,可以看到缩略图留空,在前台可以正常调用。