属性和接口说明

播放器属性

将所有参数以对象形式传入播放器,可以设置的属性包括:

名称 类型 是否必填 描述
vid string 上传到保利威平台的音视频的唯一ID
viewerInfo object 可选 自定义观众信息。设置后,播放器上报的观看行为日志中会附带观众信息。详见观众信息设置与统计
wrap string 可选 需要载入播放器的css选择器
skin string 可选 播放器皮肤(white / grey),如果使用自定义播放器皮肤,则不需传该参数。
autoPlay boolean 可选 是否自动播放。注:目前大多数浏览器都会限制自动播放,该参数可能无效。
loop boolean 可选 是否循环播放
volume number 可选 音量(范围0~1)
speed number 可选 倍速播放
startTime number 可选 从第几秒开始播放,需小于视频时长
playsafe function | string 可选 PC端播放加密音/视频所需的授权凭证,若要在PC端播放加密音视频才需要该参数,非加密音视频可忽略。详见:播放加密视频
playsafeUrl string 可选 获取PC端播放加密音/视频凭证的接口URL。与playsafe参数二选一。
sign string 可选 移动端播放加密音/视频所需的签名,非加密音/视频可忽略。详见:播放加密视频
ts string 可选 移动播放加密音/视频需传入的时间戳。

静态属性

可以通过 PlvAudioPlayer[key] 获取。

名称 类型 描述
EventType object 回调事件的汇总。

实例属性

每个播放器实例都有以下属性:

名称 类型 描述
audio object 原生的 audio 对象。
currentTime number 当前播放位置,单位:秒。
duration number 当前音频时长,单位:秒。
paused boolean 当前是否暂停状态。

播放器接口

API需要在播放器初始化完成之后调用,比如:

plvAudioPlayer.on('ready', function() {
  console.info('播放器初始化完毕');
  plvAudioPlayer.seek(100); // seek到第100秒
});

播放器接口列表如下:

名称 参数类型 说明
play / 开始播放
pause / 暂停播放
(async) changeVid (String|Object) 切换媒体文件。可传入vid字符串,或包含playsafe、sign、ts、vid属性的对象。
seek Number 跳转到指定位置播放,参数单位为:秒。
setLoop Boolean 是否循环播放
setSpeed Number 设置倍速播放,参数取值(0,16]。非法值将设置为 1。
setVolume Number 设置音量,参数取值[0,1]。非法值将设置为1。
stop / 终止播放
(async) updateParam / 更新播放器参数,音频会结束播放并重新下载。支持本文档中所列的播放器属性参数。
destroy / 销毁当前播放器实例

播放器事件

播放器提供了一些常用的事件回调,使用方法如:

plvAudioPlayer.on('ready', function() {
  console.info('ready');
});

事件列表如下:

名称 说明
ready 播放器初始化完毕,播放器提供的方法需在此事件发生后才可以调用。参数返回包含音频信息的data对象,可通过data.audioInfo 获取音频相关信息。
loadstart 在媒体开始加载时触发。
play 媒体播放时触发
playing 播放中,会触发多次
pause 暂停时触发
seeking 在跳跃操作开始时触发
seeked 在跳跃操作完成时触发
ratechange 在播放速率改变时触发
timeupdate 当前播放时间点(currentTime属性)改变时触发
waiting 在一个待执行的操作(如播放)因等待另一个操作(如跳跃或加载)被延迟时触发。
ended 播放结束时触发
stop stop方法完成后触发
hlsError 播放hls文件发生错误时触发
serverError 发生播放错误时触发,参数返回保护报错信息的data对象,可以通过 data.code 获取报错信息的错误码
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

H5同层播放

在Android手机上使用H5播放视频时,大多数的国内浏览器厂商都会在视频播放时劫持<video>标签,使用浏览器自带的播放器播放视频,而且播放器会处于最高层级,视频上面无法显示其它html元素。比如在Android微信下播放视频,Polyv播放器的皮肤控件没有显示出来,也是这个原因。对于这种情况暂时没有有效的解决办法。

但是由于X5内核的浏览器(微信、QQ浏览器)提供了一些属性可以解决覆盖Dom元素的问题,腾讯命名为同层播放。Polyv播放器支持在Android手机上开启同层播放功能,此功能只对使用了腾讯X5内核的浏览器有效,比如微信、QQ。

开启同层播放的播放器代码示例如下:

<div id="player"></div>
<script src="//player.polyv.net/script/player.js"></script>
<script>
var player = polyvPlayer({
    wrap: '#player',
    width: 800,
    height: 533,
    vid: '88083abbf5bcf1356e05d39666be527a_8',   
    useH5Page: true // 开启同层播放
});
</script>

注:经测试发现,小部分机型的微信、QQ内同层播放参数可能不生效。

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

授权播放和防录屏跑马灯

屏幕录像是最难防范的一种视频盗版方式,保利威播放器提供的防录屏跑马灯功能,通过设定文字内容(一般是观众的身份ID信息)在视频上不规则滚动,以此来警示盗版者,达到视频版权保护的效果。

另外在用户网站中,除了通过登录信息(cookies)验证观众是否有权限访问视频播放页面外,还可以通过保利威播放器验证观众是否有播放某一个视频的权限,从而实现对观众权限的双重验证。

防录屏跑马灯的视频介绍:防录屏神器–跑马灯(视频)

实现流程

image-20200831160621474

实现步骤

一、管理后台设置

  1. 登录云点播管理后台,点击 【设置】【视频设置】,进入视频设置页面。
  2. 在授权播放和防录屏跑马灯接口设置栏中,填写业务方的接口服务URL。
    image-20200831161317380

播放器在请求授权接口时,会自动适配以下情况:

  1. 当填写的是完整的URL时,播放器会直接请求,例如:http://mywebsite.com/interface/validate。
  2. 当填写的是不带协议头的接口地址时,播放器会根据当前页面的请求协议自动补全。例如填写的是://mywebsite.com/interface/validate,当前页面使用https协议访问,那么实际请求的是:https://mywebsite.com/interface/validate。
  3. 当填写的是不带协议头和HOST的接口地址时,播放器会根据当前页面的请求协议和HOST自动补全。例如填写的是:/interface/validate 或 interface/validate,当前页面的域名是mywebsite2.com,且页面使用http协议访问,那么实际请求的是:http://mywebsite2.com/interface/validate。

二、业务方服务端实现

1、播放器端请求

当管理后台设置授权播放和跑马灯接口后,Polyv播放器在播放视频时会首先请求后台设置的接口,请求的方式为GET,并且会附带vid、code、t、callback这四个参数,例如:https://www.mywebsite.com/validate?vid=e2e84a73837363106d8d257f60e55c4c_e&code=&t=1457938821973&callback=polyvObject16209048491895664483_1457938783908&_=1457938784101。

其中code为播放器嵌入代码中的参数,值可以自定义;t为播放器产生的随机数。播放器示例代码如下:

<script src='https://player.polyv.net/script/player.js'></script>
<div id='player'></div>
<script>
var player = polyvPlayer({
    wrap: '#player',
    width: 800,
    height: 533,
    vid: '88083abbf5bcf1356e05d39666be527a_8',   
    code: 'myCodeValue'  // 用户可自定义参数值,也可以不设置此参数,那么在请求接口时该参数值为空。参数值为中文时需要做base64URLSafe。
});
</script>

由于H5播放器通过Ajax方式请求用户接口,需要跨域请求,因此需要callback参数。而Flash播放器是通过跨域文件实现跨域,所以不需要callback参数,请求接口时只会提交vid、code和t三个参数。Flash播放器实现跨域请参考跨域访问设置

2、服务端接口实现

业务方服务端接口如果只需实现授权验证的功能,只需返回 status、username、sign三个参数给播放器验证即可。

服务端实现的PHP示例如下:

// validate.php
<?php
$username = "elvis"; // 用户昵称, 若值为中文需要urlencode('张三'),可从session获取
$secretkey = "secretkey"; // 登录保利威管理后台,点击 【设置】 → 【API接口】获取
$vid=$_GET["vid"];
$t = $_GET["t"];
$code = $_GET["code"];

if($username=="elvis"){ 
  $status = 1; // 业务方可自定义授权验证逻辑
}else {
  $status = 2;
}
if(!empty($_GET["callback"])){
  $callback = $_GET["callback"];
}else{
  $callback = '';
}

$sign=md5("vid=$vid&secretkey=$secretkey&username=$username&code=$code&status=$status&t=$t");
$array=Array("status"=>$status,"username"=>$username,"sign"=>$sign);
$Json = json_encode($array);

if($callback!=''){ //PC H5播放器会提交callback参数
  echo $callback."(".$Json.")";
} else{ //Flash播放器不提交callback参数
  echo "(".$Json.")";
}
?>

其中,sign的计算规则为:拼接vid、secretkey、username、code、status、t参数做MD5计算:

Plain ="vid=" + vid + "&secretkey=" + secretKey + "&username=" + username + "&code=" + code + "&status=" +status + "&t=" + t
sign = MD5.hash(Plain);

以下为接口返回示例:

  polyvObject16208229674372271079_1478765178186({
  "status":1,
  "username":"elvis",
  "sign":"1cca74bd55c6076091ed84807065e5b7"
  })
// 不提交callback参数时
{
  "status":1,
  "username":"elvis",
  "sign":"2c2bfb00314da7d768d50a7d1e93bd9f"
}

如果除了授权验证,还需实现跑马灯功能,则接口需要返回跑马灯相关的参数。

服务端实现的PHP示例如下:

// validate.php
<?php
$username = "elvis"; // 用户昵称, 若值为中文需要urlencode('张三'),可从session获取
$secretkey = "secretkey"; // 登录保利威管理后台,点击 【设置】 → 【API接口】获取
$vid=$_GET["vid"];
$t = $_GET["t"];
$code = $_GET["code"];
$fontSize="40";
$fontColor="0xFFE900";
$speed="200";
$filter="on";
$setting="3";
$alpha="1";
$filterAlpha="1";
$filterColor="0x3914AF";
$blurX="2";
$blurY="2";
$tweenTime="1";
$interval="5";
$lifeTime="3";
$strength="4";
$show="on";
$msg="Errormessage!";

if($username=="elvis"){ // 业务方可自定义授权验证逻辑
 $status = 1;
}else {
 $status = 2;
}

if(!empty($_GET["callback"])){
 $callback = $_GET["callback"];
}else{
 $callback = '';
}

$sign=md5("vid=$vid&secretkey=$secretkey&username=$username&code=$code&status=$status&t=$t&msg=$msg&fontSize=$fontSize&fontColor=$fontColor&speed=$speed&filter=$filter&setting=$setting&alpha=$alpha&filterAlpha=$filterAlpha&filterColor=$filterColor&blurX=$blurX&blurY=$blurY&interval=$interval&lifeTime=$lifeTime&tweenTime=$tweenTime&strength=$strength&show=$show");
$array = Array("status"=>$status,"username"=>$username,"sign"=>$sign,"msg"=>$msg,"fontSize"=>$fontSize,"fontColor"=>$fontColor,"speed"=>$speed,"filter"=>$filter,"setting"=>$setting,"alpha"=>$alpha,"filterAlpha"=>$filterAlpha,"filterColor"=>$filterColor,"blurX"=>$blurX,"blurY"=>$blurY,"tweenTime"=>$tweenTime,"interval"=>$interval,"lifeTime"=>$lifeTime,"strength"=>$strength,"show"=>$show,);
$Json = json_encode($array);

if($callback!=''){
 echo $callback."(".$Json.")";
} else{
 echo $Json;
}
?>

其中,sign的计算规则为(参数必须按照示例中的顺序拼接):

Plain = "vid=" + vid + "&secretkey=" + secretKey + "&username=" + username + "&code=" + code + "&status=" + status + "&t=" + t + 
"&msg=" + msg + "&fontSize=" + fontSize + "&fontColor=" + fontColor + "&speed=" + speed +"&filter=" +filter + "&setting=" + setting + 
"&alpha=" + alpha + "&filterAlpha=" + filterAlpha  + "&filterColor=" + filterColor + "&blurX=" + blurX + "&blurY=" + blurY + 
"&interval=" + interval + "&lifeTime=" + lifeTime + "&tweenTime=" + tweenTime + "&strength=" + strength + "&show=" +show;
sign = MD5.hash(Plain);

例如:当vid="8f8482aaab11dd5f45f183a9192a04c5_8",secretkey="AiDQw1mAmi",username="suki",code="abc",status="1",t="143020010115550947",msg="Errormessage!",fontSize="40",fontColor="0xFFE900",speed="200",filter="on",setting="3",alpha="1",filterAlpha="1",filterColor="0x3914AF",blurX="2",blurY="2",interval="5",lifeTime="3",tweenTime="1",strength="4",show="on"时,
拼凑起来去MD5计算的字符串为:
vid=8f8482aaab11dd5f45f183a9192a04c5_8&secretkey=AiDQw1mAmi&username=suki&code=abc&status=1&t=143020010115550947&msg=Errormessage!&fontSize=40&fontColor=0xFFE900&speed=200&filter=on&setting=3&alpha=1&filterAlpha=1&filterColor=0x3914AF&blurX=2&blurY=2&interval=5&lifeTime=3&tweenTime=1&strength=4&show=on
则sign为MD5计算后32位小写的值:3b07f56f29b7fd728bf20020442338e7

以下为接口返回示例:

{
  "status":1,
  "username":"elvis",
  "sign":"6ab63590797e513d1b6c46b407413478",
  "msg":"Errormessage!",
  "fontSize":"40",
  "fontColor":"0xFFE900",
  "speed":"200",
  "filter":"on",
  "setting":"3",
  "alpha":"1",
  "filterAlpha":"1",
  "filterColor":"0x3914AF",
  "blurX":"2",
  "blurY":"2",
  "tweenTime":"1",
  "interval":"5",
  "lifeTime":"3",
  "strength":"4",
  "show":"on"
}

三、接口返回参数说明

参数名 类型 必填 默认值 说明
status Integer / 是否允许播放:1 允许 2 禁止
username String / 观众名称,也会用于跑马灯显示的文字内容。如果是中文需要做URLEncode
sign String / 接口签名,用于校验返回内容是否被篡改
show String off 当参数值为“on”时表示显示跑马灯,默认不显示
setting Integer 1 跑马灯滚动的样式:1 从右到左滚动 2 随机位置闪烁 3 从右到左闪烁滚动
speed Integer 200 跑马灯文字从右侧移至左侧所需时间,单位:1/10秒
lifeTime Integer 3 跑马灯文字显示时间,单位:秒
interval Integer 5 跑马灯文字隐藏间隔时间,单位:秒
tweenTime Integer 1 跑马灯文字渐隐渐现时间,单位:秒
fontSize Integer 30 跑马灯文字的字体大小
fontColor String 0x000000 跑马灯文字颜色,使用十六进制颜色值表示,如0xFF0000,默认为黑色
alpha Float 1 跑马灯文字透明度,取值范围0.01~1,参数值不能小于0.01
filter String off 跑马灯文字是否描边,on 描边 off 不描边
filterAlpha Float 1 文字描边透明度,取值范围0~1
filterColor String 0x000000 文字描边颜色,使用十六进制颜色值表示,如0xFF0000,默认为黑色
strength Integer 4 描边强度,取值范围0~255
blurX Integer 2 描边水平模糊量,取值范围0~255
blurY Integer 2 描边垂直模糊量,取值范围0~255
msg String / 自定义错误提示信息
  1. 当接口只做授权验证用途时,只需返回 status、username和sign三个参数,跑马灯相关参数可不返回。
  2. 请确保接口返回数据是utf-8编码,注意 status参数是整型,不能是字符串类型。
  3. 目前跑马灯功能不支持在移动端H5播放器上使用。
  4. 请尽量不要对播放器样式或\标签进行修改
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

视频加密

域名黑白名单、授权播放等安全机制主要用于控制视频播放请求来源的合法性,能够有效保障用户的合法访问。但这些机制不会对视频数据本身进行加密,对于付费观看视频的业务场景,用户只需通过一次付费行为拿到视频资源URL便可将视频下载到本地并进行二次分发,因此,这些机制对于视频版权保护是不够的。

保利威视频加密采用私有的加密算法,提供包括加密转码、安全传输、解密播放等一体化的视频安全方案。通过对视频数据本身进行高强度的加密,视频文件即使被下载到本地也无法直接播放和传播,可有效防止视频泄露和盗版问题。

核心优势

保利威视频加密的核心优势有:

  • 保利威视频加密功能采用自有知识产权的专利技术,视频的加密转码、传输、解密播放全部受私有算法保护,破解难度极高。
  • 每个视频文件都有独立的私钥,能有效避免一个密钥的泄露引起大范围的安全问题。播放器和服务端使用加密协议进行密文传输,有效防止密钥被窃取。
  • 提供多套不同安全级别的加密方案,可根据自身业务场景选择。
  • 提供安全的播放器SDK,覆盖H5、Flash、iOS、Android、小程序、桌面客户端等多平台,且加密视频必须使用保利威安全播放器才能播放。
  • 云点播平台提供了完整的加密视频播放授权体系,开发者只需获取播放凭证并传入Polyv播放器即可实现加密播放,免去了凭证和密钥的管理、验证、分发等开发工作。
  • Polyv播放器提供的授权播放和防录屏跑马灯功能,进一步加强了版权保护能力。
  • 保利威服务于上千家在线教育客户,视频版权保护技术不断更新迭代,始终处于行业领先水平。

流程架构

点播视频加密和解密播放的整体架构流程如下:

video-encryption

使用说明

一、后台配置

在云点播管理后台,支持针对整个账号或某个视频分类进行加密设置,操作流程如下:

1、登录云点播管理后台,点击 【设置】【加密设置】,进入加密设置页面。

image-20200915115350189

  • 视频加密设置:打开后,新上传的视频都会经过加密转码。
  • 加密视频授权设置:播放加密视频有四种授权方式,分别为:非加密授权、Web授权、App授权和小程序授权。这四种授权方式的安全级别不同,支持播放的终端也不同,您可以根据自身业务场景选择合适的授权方式。详见下表:

    授权方式/支持终端 PC Web 手机H5 手机APP PC 客户端 微信小程序
    非加密授权
    WEB授权
    APP授权 × ×
    小程序授权 ×
    1. 安全级别从高到低排序为:APP授权 > 小程序授权 > WEB授权 > 非加密授权。
    2. 如果您的业务场景只有手机APP播放,建议选择“APP授权”,如果有手机H5播放视频的需求,建议选择“WEB授权”,但Web授权的安全级别低于APP授权。
    3. 加密视频只能通过保利威提供的安全播放器SDK才能播放。

2、开启加密设置后,所有新上传的视频都会经过加密转码。管理后台还支持只对某一视频分类进行单独设置。操作方式为:点击 【视频列表】【视频分类管理】,选中某个分类,点击【分类属性设置】,进行分类下的加密设置。

image-20200915135521582

二、播放加密视频

加密视频必须使用保利威提供的播放器才能播放,云点播提供Web端、iOS、Android、小程序、桌面客户端等多平台的播放器SDK,以便您快速在自身应用或网站中集成。

  • Web播放器(PC/手机 H5、Flash):通过引入Polyv Web播放器代码,可在自己的Web页面嵌入播放器并实现播放,详见:Web端播放加密视频
  • 移动端播放器(iOS、Android SDK):用户可以通过SDK快速集成视频播放能力到自己的应用中,详见:iOS SDKAndroid SDK
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

视频水印

视频水印是指在视频转码时,将水印图片编码进视频流中,使水印图片成为视频的一部分。企业可以把专属的Logo等信息作为视频水印显示在视频画面中,以此来展示企业版权信息和品牌形象。

需要注意的是,由于水印图片已经编进视频流,所以转码后的视频无法再次修改和隐藏水印。如需修改,只能重新设置水印并上传视频。

关于水印与播放器Logo的区别,详见:如何区分水印和LOGO

在管理后台设置水印

在云点播管理后台,支持针对整个账号或某个视频分类进行水印设置,操作流程如下:

  1. 登录云点播管理后台,点击 【设置】【视频设置】,进入视频设置页面。
  2. 在视频水印设置栏中,上传水印图片并设置水印的显示位置。设置水印后,会对账号下所有新上传视频生效。

    image-20200914115910569

  3. 如果只想针对某个视频分类进行水印设置时,点击 【视频列表】【视频分类管理】,选取要设置水印的某个分类,点击【分类属性设置】,打开分类属性的设置弹窗。在视频水印处,可以上传水印图片并指定显示位置。

    image-20200914140742617

注:
1. 水印图片需要为png格式,图片宽或高的尺寸超过256px时会被等比缩放。
2. 水印设置成功后,只对新上传的视频生效,旧视频不受影响。
3. 云点播平台还支持利用ASS字幕文件来实现动态水印的效果,详见:通过ASS字幕实现动态视频水印效果

通过API设置水印

您可以通过API来设置账号或分类级别的水印,详见:设置视频水印

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

播放域名黑白名单

云点播平台的视频在Web端都是通过用户网站进行播放的,保利威云点播提供了播放域名黑白名单的设置功能。您可以在点播管理后台设置允许播放域名的黑白名单,降低视频被恶意盗链的风险。

在管理后台设置域名黑白名单

  1. 登录云点播管理后台,点击 【设置】【播放域名设置】,进入域名黑白名单的设置界面。
  2. 根据自身的业务场景,选择域名限制的范围:

  • 如果选择“无域名限制”,则视频可以在任何网站(域名)下播放。
  • 如果设置了“禁止播放的域名”,则视频在“禁止域名(黑名单)”范围内无法播放,最多可设置5个域名。
  • 如果设置了“允许播放的域名”,则视频只允许在“允许域名(白名单)”范围内播放,最多可设置5个域名。
  • 如果选择了“复合判断”,播放器会先判断当前播放域名是否在白名单,再判断是否在黑名单。这个选项适用于允许视频在某域名下播放,但禁止其中一个子域名播放的场景。

    image-20200914144009405

通过API设置域名黑白名单

您还可以通过服务端API来查询和设置播放域名的黑白名单,详见:

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

概览

如何保障视频内容安全,防止视频被盗链、非法下载和传播,是众多企业困扰已久的问题,特别是在线教育、企业培训、财经金融等在线版权视频领域,处理不好会造成严重的经济损失或信息泄露风险。

保利威云点播提供了针对视频内容安全的多种保护机制,从产品功能、技术实现以及平台服务等多方面保障您的视频版权不受到非法侵犯。详见:保利威PlaySafe视频版权保护体系。视频介绍详见:保利威课件版权保护体系

在技术和产品功能层面保利威提供如下的视频安全保护机制:

安全机制 描述 安全级别
播放密码 可针对视频设置播放密码,观众需输入正确的密码才能播放视频
视频水印 把企业专属水印编码进视频流,让视频内带有版权信息,保护公司知识产权
播放域名黑白名单 通过设置域名黑白名单,实现视频只能在指定网站播放的效果 较低
授权播放 视频播放前播放器调用业务方的授权验证接口,实现二次鉴权
录屏/抓流监测 播放器自动检测主流浏览器或手机系统的录屏/抓流行为,并警告终止播放 较高
防录屏跑马灯 将观众信息显示在视频上,并不规则地跑动,可追溯录屏者身份,对翻录行为起到强有力的警示作用。 较高
视频加密 采用私有加密算法和安全传输机制,提供云端一体的视频加密解决方案
安全下载 移动端(iOS/Android SDK)将加密后的视频数据缓存在本地,私钥加密存储且只有保利威播放器才可解密播放

播放密码

播放密码是一种简单的安全保护机制,为视频设置密码后,观众需输入正确的密码才可以播放视频。

使用方式参考:播放密码

视频水印

水印是在视频编码时将图片压在视频流中的,水印图片成为了视频的一部分。企业可以把专属的Logo等信息作为视频水印显示在视频画面中,以此来展示企业版权信息和品牌形象。

使用方式参考:视频水印

播放域名黑白名单

播放域名限制是在云端配置的视频资源访问策略,根据视频所在网站的域名,可配置拒绝播放视频的网站域名黑名单,或允许播放视频的网站域名白名单,以达到基本的保护目的,防止被恶意盗链播放。

使用方式参考:播放域名设置

授权播放和防录屏跑马灯

在用户网站中,除了登录验证外,还可以通过在云点播管理后台设置授权验证接口,播放器会调用该接口去验证观众是否有播放某一个视频的权限,从而实现对观众的二次鉴权。

另外该接口还可以通过返回跑马灯的内容和样式信息,在视频播放过程中,使观众信息在视频上不规则滚动,以此来警示盗版者,达到视频版权保护的效果。

使用方式参考:授权播放和跑马灯

录屏/抓流检测

部分浏览器(比如360浏览器)以及浏览器插件带有录屏或抓取视频流并下载的功能,保利威播放器会主动监测录屏或抓流行为,一旦发现观众开启了录屏功能或抓流插件,视频会自动停止播放并提示。保利威Android/iOS SDK也提供防录屏功能,开启防录屏开关后,在Android系统中录制的视频画面为黑色,而在iOS系统中视频会终止播放并提示。

浏览器录屏检测的视频介绍:浏览器防录屏(视频)

视频加密

上述安全机制能够有效保障用户的合法访问,但对于付费观看场景,如果盗版者通过一次付费拿到视频播放URL,将视频下载到本地并进行二次分发,对于企业而言所造成的经济损失也是十分严重的。因此需要通过多种安全机制配合,共同保障视频内容安全,而其中最为重要的一项安全保护机制,就是视频加密。

保利威视频加密是对视频数据本身进行加密,加密后的视频即使被下载到本地,也是无法播放和二次分发的。视频加密可有效防止视频泄漏和盗链问题。

使用方式参考:保利威视频加密

安全下载(离线播放)

在移动端(iOS、Android)APP,一般会有缓存、下载到本地并离线播放的业务场景,保利威移动端SDK提供的安全下载功能可以有效保护下载到本地的视频文件,防止被拷贝后恶意播放和传播。主要优点有:

  1. 下载到本地的视频本身是加密的,只能通过保利威移动端SDK进行解密播放,拷贝后无法直接播放和二次分发。
  2. 私钥文件加密存储,有效防止被窃取。
  3. 每个视频文件都有独立的私钥,即使单个泄漏也不会影响其它视频。
  4. 所有的下载、解密、播放逻辑在SDK内部实现,用户无需额外处理,简单易集成。

使用方式参考:

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

播放密码

播放密码是一种较简单的视频安全保护机制,为视频设置密码后,观众需输入正确的密码才可以观看视频。

使用方式为:

  1. 登录点播管理后台,点击【视频列表】,选中视频后点击【视频设置】,为视频设置密码。

    image-20200914112710438

  2. 观众需输入正确的密码才可观看视频。

    image-20200911172710933

您还可以通过服务端API来查询和修改视频的播放密码:

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...