如何嵌入带有DRM保护的HTML5视频播放器?
Haihaisoft 的 DRM-X 5.0 是专为 HTML5 视频设计的,它使用 HTML5 视频标签。内容提供商可以轻松地使用标准的 HTML5 视频标签嵌入视频,并使用诸如 VideoJS 等知名的 HTML5 播放器,还可以使用 JavaScript 与 HTML5 播放器进行交互。

如何嵌入带有DRM保护的HTML5视频播放器?
如果不需要对播放器进行深度修改,请使用以下代码嵌入视频。
<div id="ZJGet_Video_URL" style="display: none;">https://www.drm-x.com/download/drmx5/HolyForever-ChrisTomlin_P.mp4</div>
<script type="text/javascript" src="https://www.zjget.com/assets/embed_js/embed_zjget.js"></script>
<script type="text/javascript" src="https://www.zjget.com/assets/videojs-8.23.3/video.min.js"></script>
<script type="text/javascript" src="https://www.zjget.com/assets/embed_js/zjget.js"></script>如果您需要修改播放器,请参考以下说明。
在头部引入 VideoJS:
<!--引用VideoJS脚本-->
<link rel="stylesheet" type="text/css" href="css/video-js.css" />
<script src="js/video.js" type="text/javascript" charset="utf-8"></script>
<!--使用自定义皮肤-->
<link rel="stylesheet" type="text/css" href="css/skin/TechSkin-skin.css" />您也可以根据网站的风格使用其他皮肤。
这里我们推荐一款 VideoJS 皮肤生成工具,您可以自定义播放器皮肤。 https://codepen.io/heff/pen/EarCt
嵌入 VideoJS:
笔记:对于 iOS 系统,请添加一个 id 值为 zjget_ios_media_url 的 div 元素,隐藏该 div 元素,并在 div 元素中输入视频 URL。ZJGet 会自动识别该标签,并提示用户是否播放此视频。例如:
<div id="zjget_ios_media_url" style="display: none;">https://www.drm-x.com/download/drmx5/HolyForever-ChrisTomlin_P.mp4</div>最新版本的 ZJGet for iOS 媒体 URL 注释:
如果您希望客户在 iOS 设备上播放您的视频,则链接中必须包含以下特征,并以 _P 结尾。例如,链接包含 _P.mp4、_P.webm 或 _P.mp3(不区分大小写)。或者,链接中必须包含 zjget。您可以在下载链接的任何位置添加这些特征之一,这样 iOS 版 ZJGet 就能识别并支持下载。
<div id="LoadingText" style="display: none;" align="center">
正在跳转到获取权限页面...
</div>
<div id="cellular_button" align="center"></div>
<div align="center">
<script type="text/javascript">
// 检测当前的浏览器是否为ZJGet,若非ZJGet浏览器,,
// 将会提示用户在ZJGet浏览器中打开受保护的文件,并提示用户下载ZJGet浏览器。
if(navigator.userAgent.indexOf("ZJGet") == -1){
document.write('提示:请在ZJGet浏览器中打开受保护文件。下载ZJGet');
}else{
// 加入HTML5的vide标签;
// VideoJS会自动改变video标签的ID,这里的zjget_player将会自动变成变成zjget_player_html5_api;
// 使用src属性指定视频URL;
// class="video-js" 调用VideoJS的样式
// data-setup 中 "autoplay":true 自动播放,false不自动播放;
// 在data-setup中,可以通过 "playbackRates": [0.5, 0.7, 1, 1.5, 2, 3, 4]添加播放速度的功能;
document.write('<'video id="zjget_player" controls="controls" class="video-js" data-setup=\' {"playbackRates": [0.5, 0.7, 1, 1.2, 1.5, 2], "autoplay":false, "width": 856, "height": 480 }\'><'source src="https://www.drm-x.com/download/drmx5/HolyForever-ChrisTomlin_P.mp4" type="video/mp4"></video>);
}
</script>
</div>Javascript 代码:
<script type="text/javascript">
document.onreadystatechange = function() {
if (document.readyState == "complete") { // 页面加载完之后执行,必须;
// 获取HTML5播放器
// VideoJS会自动在Video标签的ID后自动加上_html5_api;
myVid=document.getElementById("zjget_player_html5_api");
// 获取播放器返回的详细信息,如果需要获取许可证,将会返回获取许可证的URL,
// 不然将会返回受保护文件的详细信息和许可证信息。
isSupp=myVid.canPlayType('zjget');
// 检测是否为手机访问
if(navigator.userAgent.indexOf("Mobile ZJGet") > 0){
var con = window.navigator.connection;
var network = con.type; // 移动网络:cellular; 无线网络:wifi
// 检测手机是使用移动网络还是wifi
if (network == "cellular"){ // 如果手机使用移动网络,需要为页面添加获取许可证的按钮
document.getElementById("cellular_button").innerHTML = '<'button style="height: 50px" class="m_g_b" onClick="supportType(event,\'video/ogg\',\'theora, vorbis\')">Play Protected file (Click 2 times)'<'/button>;
}
}
// 如果返回信息包含URL,说明需要获取许可证。
if(isSupp.indexOf("http")>0){
// 显示提示,非必须;
document.getElementById("LoadingText").style.display='block';
// 通过substring截取获取许可证的URL;
licURL = isSupp.substring(isSupp.indexOf("http"));
// 跳转到获取许可证页面验证并获取许可证。
window.location.href = licURL;
}
}
};
</script>以下方法提供了获取更多信息的参考,包括许可证信息(打开次数和到期日期),您可以根据自己的需求获取这些信息。
function supportType(e,vidType,codType){
myVid=document.getElementById("zjget_player_html5_api");
isSupp=myVid.canPlayType("zjget");
myVid.play();
licURL = isSupp.substring(isSupp.indexOf("http"));
if(isSupp.indexOf("http")>0){
window.location.href = licURL;
}else{
if(isSupp.indexOf("License")>0){
// 获取打开次数
var openCount=isSupp.substring(isSupp.indexOf(":"),isSupp.indexOf(";"));
// 获取许可证的过期时间
var ft=isSupp.substring(isSupp.indexOf(";")+1);
var ut = filetime_to_unixtime(ft);
var d = new Date(ut * 1000);
e.target.parentNode.innerHTML ="打开次数" + openCount + ", 过期日期:" + d.toLocaleString();
return;
}
if(isSupp.indexOf("Error ID = 3")>0){
e.target.parentNode.innerHTML ="许可证已经过期。请关闭ZJGet,重新打开受保护的文件,来获取新的许可证";
return;
}
}
}其他 DRM-X 5.0 教程
DRM-X 5.0 自动批量加密工具完整操作指南DRM-X 5.0自动批量加密工具提供手动与自动扫描两种加密模式,支持多种文件格式及PDF转HTML加密,帮助企业高效、自动化地完成批量文件的数字版权保护。
立即观看

