PHP实现腾讯云视频加密的示例代码

目录
  • 前言
  • 实现加密
    • 1、打开腾讯云视频开启key防盗链
    • 2、导入csv文件到数据库
    • 3、加密

前言

上传到腾讯云上面的视频,如何实现防盗链?

当我们的视频放到,腾讯云上面,播放的时候如何实现指定过期时间,防止他人盗刷流量,这就要用到,腾讯云key防盗链技术,这个技术有什么用呢?

  • 视频 URL 中指定过期时间,他人获取后无法长期使用
  • 在视频 URL 中指定最大允许播放 IP 数,他人获取后不能无限制地分发给更多人观看
  • CDN 节点检查视频 URL 中的参数和签名,对视频播放请求进行控制。如果请求检查不通过,则返回403响应码

接下来就是怎么用php实现了,大致过程也可以先查看一下官方文档了解一下过程。

实现加密

1、打开腾讯云视频开启key防盗链

这是一串加密密钥,先复制下来,接下来有用。

2、导入csv文件到数据库

把腾讯云上面的视频地址导出,然后导入到自己的数据库

里面会给到播放地址一些的东西

3、加密

代码可以用这个搬过去,只要把你的key替换一下,我用是tp6开发,获取数据库的数据,具体看自己项目,跟着来。

public function secret(Request $request)
{
        //分页处理
       $where = Util::getMore([
           ['page',1],
           ['limit',20]
       ]);
       $long = new Video();
       //获取数据
       $data = $long->order('ID','asc')->field('video,title,play,cover')->page($where['page'],$where['limit'])->select();
       if(empty($data)){
           $this->success('成功',[]);
       }
       $res = [];
       foreach($data as $item){
           $item['play'] = intval($item['play']);
           //替换域名,可以根据自己的来,不改的话,会报错
           $temp=str_replace('http://1500005512.vod2.myqcloud.com','',$item['video']);
           $dirr = $this->lst($temp);

           //替换成自己的key
           $key = 'v3Pz10kGbn6HssfXoKK3';

           // 过期时间秒;
           $now = time();
           $next = $now + 1*60*60;
           // 生成16进制
           $overtime = dechex($next);

           // 生成sig
           $str = $key.$dirr.$overtime;
           $sign = md5($str);
           $item['video'] = $item['video'] . '?t=' . $overtime .'&sign=' . $sign;
           $rel[] = $item;

       }
       $ress = [];
       foreach($rel as $item){
           //urlen编码
           $item['video'] = urlencode($item['video']);
           $ress[] = $item;
       }
       return success("ok",$ress);
   }

用postman,发送数据,生成的key,可以用校正工具测试一下。如果报key无效,一般是生成的密钥不对,一步一步检查,发现错误并改正。

到此这篇关于PHP实现腾讯云视频加密的示例代码的文章就介绍到这了,更多相关PHP视频加密内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 六种php加密解密方法实例讲解

    代码演示如下: 方法一 <?php function encryptDecrypt($key, $string, $decrypt){ if($decrypt){ $decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "12"); return $decrypted; }else{ $en

  • PHP代码加密的方法总结

    如何保护自己的PHP代码: 代码混淆+加密 实际加密算不上,具体实现思路就是把代码base64加密,然后对base64里的字符串进行字符串映射(随机生成字典混淆)然后eval执行 这种百分之百能被破解还原 代表代码如下: <?php function RandAbc($length = "") { // 返回随机字符串 $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; return s

  • PHP 获取视频时长的实例代码

    具体代码如下所示: /* * 获得视频文件的缩略图和视频长度 * @date 2018-05-16 * @copyright */ //获得视频文件的总长度时间和创建时间 根据视频长度判断是否失效 public function getTime($url) { //获取视频重定向后的链接 $location = locationUrl($url); //获取视频Content-Length $responseHead = get_data($location); $list1 = explode

  • php实现ffmpeg处理视频的实践

    最近有一个项目需要使用ffmpeg处理视频,这里我写了一个demo,方便我们来实现视频操作 ffmpeg操作demo <?php namespace common\helpers; use common\models\Config; use common\models\VideoApiLog; use Yii; use yii\helpers\ArrayHelper; use common\helpers\Universal; use yii\helpers\FileHelper; use yi

  • PHP调用ffmpeg对视频截图并拼接脚本

    PHP脚本调用ffmpeg对视频截图并拼接,供大家参考,具体内容如下 目前支持MKV,MPG,MP4等常见格式的视频,其他格式有待测试 12P 一张截图平均生成时间  1.64s     100个视频,大概需要2分半左右 9P  一张截图平均生成时间  1.13s      100个视频,大概需要2分钟左右 6P  一张截图平均生成时间  0.86s      100个视频,大概需要1分半左右 3P  一张截图平均生成时间  0.54s      100个视频,大概需要1分钟左右 <?php d

  • PHP实现腾讯云视频加密的示例代码

    目录 前言 实现加密 1.打开腾讯云视频开启key防盗链 2.导入csv文件到数据库 3.加密 前言 上传到腾讯云上面的视频,如何实现防盗链? 当我们的视频放到,腾讯云上面,播放的时候如何实现指定过期时间,防止他人盗刷流量,这就要用到,腾讯云key防盗链技术,这个技术有什么用呢? 视频 URL 中指定过期时间,他人获取后无法长期使用 在视频 URL 中指定最大允许播放 IP 数,他人获取后不能无限制地分发给更多人观看 CDN 节点检查视频 URL 中的参数和签名,对视频播放请求进行控制.如果请求

  • vue结合el-upload实现腾讯云视频上传功能

    起因 根据需求要实现一个视频上传功能,之前采用七牛云上传,小点视频没问题,大体积视频比如600M左右,再考虑到网速等其他原因就会花费半个小时左右. 后来分析到不仅要考虑上传时间的问题,更重要的是要考虑用户使用4G 网络的情况,考虑用户的流量,线上的视频,不能不做压缩转码,就放到页面上,视频不是图片,不能甩到 cdn 上就行了. 要考虑视频大小,pc 移动端适配,转码,还有防盗版等问题. 最终决定使用腾讯云上传视频,我的项目是web端上传,参考以下链接 官网链接:cloud.tencent.com

  • Java整合腾讯云短信发送实例代码

    目录 1. 引入相关maven依赖 2. 编写短信发送工具类 3. 业务层 3. 相关工具类 1. 引入相关maven依赖 <dependency> <groupId>com.github.qcloudsms</groupId> <artifactId>qcloudsms</artifactId> <version>1.0.6</version> </dependency> <dependency>

  • SpringBoot实现api加密的示例代码

    目录 SpringBoot的API加密对接 项目介绍 什么是RSA加密 加密实战 实战准备 真刀真枪 解密实战 实战准备 真刀真枪 总结 项目坑点 SpringBoot的API加密对接 在项目中,为了保证数据的安全,我们常常会对传递的数据进行加密.常用的加密算法包括对称加密(AES)和非对称加密(RSA),博主选取码云上最简单的API加密项目进行下面的讲解. 下面请出我们的最亮的项目 rsa-encrypt-body-spring-boot 项目介绍 该项目使用RSA加密方式对API接口返回的数

  • android 仿QQ动态背景、视频背景的示例代码

    本文介绍了android 仿QQ动态背景.视频背景的示例代码,分享给大家,具体如下: 效果如下: 如上图类似效果图: 1, 自定义视频类 继承VideoView public class CustomVideoView extends VideoView { public CustomVideoView(Context context) { super(context); } public CustomVideoView(Context context, AttributeSet attrs)

  • ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码

    安装 官网下载 http://ffmpeg.org/ 选择需要的版本 在这个网址下载ffmpeg,https://github.com/BtbN/FFmpeg-Builds/releases 将解压后得到的以下几个文件放置在E:\FFmpeg下 环境变量 此电脑--属性--高级系统设置--环境变量 在系统变量(也就是下面那一半)处找到新建,按如下所示的方法填写 再将%FFMPEG_HOME%以及%FFMPEG_HOME%\bin写入系统变量的Path中 然后一路确定即可 验证 win+R,cmd

  • python实现希尔密码加密的示例代码

    目录 原理 实现 原理 希尔密码是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明. 每个字母当作26进制数字:A=0, B=1, C=2- 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果模26.(注意用作加密的矩阵(即密匙)在 必须是可逆的,否则就不可能解码.只有矩阵的行列式和26互质,才是可逆的.) 实现 希尔密码是运用基本矩阵论原理的替换密码,使用一个m*m的矩阵作为密钥,此矩阵必须可逆,解密使用逆矩阵解密. 加密: 密文向量 = 密钥矩阵 * 明

  • Python实现视频裁剪的示例代码

    目录 前言 环境依赖 代码 验证一下 前言 本文提供将视频按照自定义尺寸进行裁剪的工具方法,一如既往的实用主义. 环境依赖 ffmpeg环境安装,可以参考文章:windows ffmpeg安装部署 本文主要使用到的不是ffmpeg,而是ffprobe也在上面这篇文章中的zip包中. ffmpy安装: pip install ffmpy -i https://pypi.douban.com/simple 代码 不废话,上代码. #!/user/bin/env python # coding=utf

  • JavaScript实现网页视频添加水印的示例代码

    目录 示例图 原理 代码示例 示例图 原理 通过html的页面布局,在video播放器层面,通过js控制dom,插入文本水印代码. 代码示例 index.html <!DOCTYPE html> <html> <head> <meta name="renderer" content="webkit" /> <meta http-equiv="Content-Type" content=&quo

  • vue实现监控视频直播的示例代码

    要想使用videojs我们势必是需要安装videojs的, 而且在生产环境中我们也需要依赖它, 所以如下 npm:  npm install video.js -S npm install videojs-flash videojs-contrib-hls -S 我们打开Vue工程中的主入口main.js进行引入 // 引入videojs import Video from 'video.js'; import 'video.js/dist/video-js.css'; Vue.prototyp

随机推荐