php获取腾讯云点播上传视频后获取视频url地址以及时长

php获取腾讯云点播上传视频后获取视频url地址以及时长

如果腾讯云点播设置了视频地址key加密,则需要计算sign值来获取视频的真实地址

 

<?php
/**
 * Created by PhpStorm.
 * User: 小灰灰
 * Date:  2018/12/23 9:02
 * Other:
 */

class Test  {
    
    public function getinfo(){
        //获取上传后的视频key防盗链的url地址以及时长
        $Key='*************'; //防盗KEY    在域名设置key加密里
        $appid="*****";    //用户信息
        $vid="*********";  //要获取的视频id
        $rt=time()+3600;  //防盗链过期时间(1小时)
        $t=dechex($rt); //过期时间(时间戳转成16进制)
        $sign = md5($Key.$appid.$vid.$t);
        $info =json_decode($this->get_url("https://playvideo.qcloud.com/getplayinfo/v2/$appid/$vid?sign=$sign&t=$t"));
        var_dump($info);
    }
    
    
    public function geturl(){
        //直接获取视频的url地址
        
        $t=dechex(time());
        $dir="/841cb38avodcq1256471914/72e2c4e25285890783958628835/";
        $exper="";
        $sign=self::GetSign($t,$dir,$exper);
        $url = "https://1256471914.vod2.myqcloud.com".$dir."P68emHl7dAgA.mp4?t=$t&exper=$exper&sign=$sign";
        $html="<video src=".$url." controls width='480' height='320'></video>";
        echo $html;
    }
    function get_url($url)
    {
        $ch = curl_init();
        $header[] = "";
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_REFERER, $url);
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        $content = curl_exec($ch);
        curl_close($ch);
        return $content;
    }

    
}

小灰灰博客网:https://xiaohuihui.net.cn/archives/1365.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装腾讯云点播 SDK 首先需要安装腾讯云点播 SDK,可以通过 npm 安装: ``` npm install vod-node-sdk --save ``` 2. 引入 el-upload 组件 在项目中引入 el-upload 组件: ```js import { ElUpload } from 'element-plus' ``` 3. 初始化腾讯云点播 SDK 在使用腾讯云点播 SDK 之前,需要先初始化: ```js import Vod from 'vod-node-sdk' const vod = new Vod({ SecretId: 'yourSecretId', SecretKey: 'yourSecretKey', }) ``` 4. 配置 el-upload el-upload 组件有很多配置项,我们需要将其中一些配置项设置为腾讯云点播需要的参数。 ```html <template> <el-upload :action="uploadUrl" :headers="headers" :on-success="onSuccess" :before-upload="beforeUpload" > <el-button type="primary">点击上传视频</el-button> </el-upload> </template> <script> import { ElUpload } from 'element-plus' import Vod from 'vod-node-sdk' export default { components: { ElUpload, }, data() { return { vod: null, uploadUrl: '', headers: {}, } }, created() { // 初始化腾讯云点播 SDK this.vod = new Vod({ SecretId: 'yourSecretId', SecretKey: 'yourSecretKey', }) // 获取上传 URL上传鉴权参数 this.vod.getUploadSignature({ fileType: 'video', fileName: 'test.mp4', }).then(({ uploadUrl, headers }) => { this.uploadUrl = uploadUrl this.headers = headers }) }, methods: { // 上传成功回调函数 onSuccess(response, file, fileList) { console.log(response) }, // 上传前的回调函数,用来设置上传参数 beforeUpload(file) { const { headers } = this headers['X-Session-Token'] = file.token headers['Content-Type'] = file.type return true }, }, } </script> ``` 5. 总结 通过以上步骤,我们就可以使用 el-upload 组件结合腾讯云点播 SDK 完成视频上传了。其中需要注意的是,上传文件的文件名需要和获取上传 URL 时传入的文件名一致,否则会上传失败。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值