Html5视频video标签中使用blob实现视频播放加密

 Html5视频video标签中使用blob实现视频播放加密_第1张图片

 后端代码:

/*
 * 在这里可以进行权限验证等操作
 */
 
//创建文件对象
File f = new File("E:\\test.mp4");
//获取文件名称
String fileName = f.getName();
//导出文件
String agent = getRequest().getHeader("User-Agent").toUpperCase();
InputStream fis = null;
OutputStream os = null;
try {
    fis = new BufferedInputStream(new FileInputStream(f.getPath()));
    byte[] buffer;
    buffer = new byte[fis.available()];
    fis.read(buffer);
    getResponse().reset();
    //由于火狐和其他浏览器显示名称的方式不相同,需要进行不同的编码处理
    if(agent.indexOf("FIREFOX") != -1){//火狐浏览器
        getResponse().addHeader("Content-Disposition", "attachment;filename="+ new String(fileName.getBytes("GB2312"),"ISO-8859-1"));
    }else{//其他浏览器
        getResponse().addHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode(fileName, "UTF-8"));
    }
    //设置response编码
    getResponse().setCharacterEncoding("UTF-8");
    getResponse().addHeader("Content-Length", "" + f.length());
    //设置输出文件类型
    getResponse().setContentType("video/mpeg4");
    //获取response输出流
    os = getResponse().getOutputStream();
    // 输出文件
    os.write(buffer);
}catch(Exception e){
    System.out.println(e.getMessage());
} finally{
    //关闭流
    try {
        if(fis != null){
            fis.close();
        }
    } catch (IOException e) {
        System.out.println(e.getMessage());
    } finally{
        try {
            if(os != null){
                os.flush();
            }
        } catch (IOException e) {
            System.out.println(e.getMessage());
        } finally{
            try {
                if(os != null){
                    os.close();
                }
            } catch (IOException e) {
                System.out.println(e.getMessage());
            }
        }
    }
}

HTML5 Video 使用 Blob:

//创建XMLHttpRequest对象
var xhr = new XMLHttpRequest();
//配置请求方式、请求地址以及是否同步
xhr.open('POST', './play', true);
//设置请求结果类型为blob
xhr.responseType = 'blob';
//请求成功回调函数
xhr.onload = function(e) {
    if (this.status == 200) {//请求成功
        //获取blob对象
        var blob = this.response;
        //获取blob对象地址,并把值赋给容器
        $("#sound").attr("src", URL.createObjectURL(blob));
    }
};
xhr.send();

 HTML代码:

	

我的视频应用类原创文章

  • 酷播云免费视频二维码的完整使用教程(适合小企业做微信视频宣传) 
  • 视频二维码的适用场景
  • 微信公众号直播有哪些不一样的玩法?
  • 微信视频直播如何做收费直播(如何做付费的微信直播)图文教程
  • 说说视频编码格式、视频码率、视频帧率、分辨率的概念
  • 原创教程:带ppt课件和讲师画面的教学视频录制完整教程
  • 如何做电视节目的视频直播(电视台节目直播)
  • 做视频直播时如何测试本地网络的上行带宽(网速测试)
  • usb摄像头做教学直播实现pc和手机都可以在线观看教程
  • 微信公众号直播有哪些不一样的玩法?
  • 微信视频直播如何做收费直播(如何做付费的微信直播)图文教程
  • 说说视频编码格式、视频码率、视频帧率、分辨率的概念
  • 原创教程:带ppt课件和讲师画面的教学视频录制完整教程
  • 如何做电视节目的视频直播(电视台节目直播)
  • 做视频直播时如何测试本地网络的上行带宽(网速测试)
  • usb摄像头做教学直播实现pc和手机都可以在线观看教程
  • 微信公众号直播有哪些不一样的玩法?
  • 如何做电脑游戏桌面录屏直播实现手机直接观看
  • 免费视频存储平台(微云、百度网盘、谷歌硬盘、酷播云)的截图对比
  • 云课堂直播功能介绍,更贴合在线教育、企业内训的场景应用
  • 基于微信小程序做直播的截图(微信小程序发起视频直播)
  • 在线教学场景下 讲师们做PPT课件直播的一些介绍
  • FMS/wowza/red5/SRS流媒体服务器产品对比

[ 视频安全 ] 相关原创文章

  • 教育教学类视频如何处理加密与安全(组图)
  • 防止360浏览器小窗下载视频
  • 视频安全之视频播放密码功能(设置观看密码功能教程)
  • 视频安全之授权播放和防录屏跑马灯
  • 企业级微信视频直播如何设定观看白名单(设定手机观看白名单、授权观看直播)
  • 在线教育网站如何更好的实现视频安全视频保护?
  • 免费视频二维码的完整使用教程(适合小企业做微信视频宣传) 
  • Html5视频video标签中使用blob实现视频播放加密

[ 视频直播 ] 相关原创文章

  • 云直播客户端4.0活动拍摄类直播与教学培训类直播测试
  • 视频直播画中画效果(边角叠加、去背景、并列布局三种效果)
  • 做视频直播时如何测试本地网络的上行带宽(网速测试)
  • 在线导播台(网页导播台)混流效果
  • 云课堂直播功能介绍,更贴合在线教育、企业内训的场景应用
  • 微信公众号直播有哪些不一样的玩法?
  • 企业年会活动常用的音频类、视频类工具软件

[ 视频存储与应用 ] 相关原创文章

  • 企业网站如何插入第三方平台不带广告的宣传宣传片
  • 最全的视频格式分类详解(那是相当的全面)
  • FMS/wowza/red5/SRS流媒体服务器产品对比
  • 无广告的免费视频存储空间并提供视频上传转码的功能,很不错的哦
  • 说说视频编码格式、视频码率、视频帧率、分辨率的概念
  • 免费视频存储平台(微云、百度网盘、谷歌硬盘、酷播云)的截图对比

[ 视频播放器 ] 相关文章

  • HTML5倍数功能视频播放器(加速2倍,1.5倍播放)
  • 去掉h5播放器中voide标签中的下载按钮
  • blob用法实例:http地址的原理及生成方法
  • 如何禁止视频在手机移动端页面中全屏播放

[ WebRTC ] 相关文章

  • 企业级无延时直播来了,用了就回不去了(webRTC)
  • rtmp直播和webrtc直播对比优劣何在?

[ 谷歌浏览器 ] 相关文章

  • 谷歌5款插件推荐:谷歌工具类、翻译类扩展程序
  • 10款好用的谷歌chrome浏览器插件、扩展程序,用起来很爽哦
  • 提高效率:17款超赞的谷歌chrome浏览器插件、扩展程序

[ 微信公众号运营 ] 相关文章

  • 公众号如何实现视频列表播放视频的功能
  • 微信公众号推广的40个有效果的方法
  • 在微信公众号中如何添加【自定义菜单】,原创图文教程
  • 精心整理10个高逼格的优质素材(视频、图片)网站
  • 在微信公众号中添加外部的链接图文教程
  • 视频分享到微信完整教程(转发给微信好友、微信群、微信朋友圈)

你可能感兴趣的:(播放器开发专栏,视频加密技术,视频播放加密,视频加密,blob加密)