Java 使用blob对H5视频播放进行加密
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java 使用blob对H5视频播放进行加密,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2110字,纯文字阅读大概需要4分钟。
内容图文
![Java 使用blob对H5视频播放进行加密](/upload/InfoBanner/zyjiaocheng/1066/741878a98c39432680886edc4da3f98c.jpg)
1.创建一个H5 <video>标签
<video id="sound" type="video/mp4" controls="controls" autoplay="autoplay"
webkit-playsinline="true" playsinline="true" heigth="100%"></video>
2.创建请求获取视频源,并将视频源转为blob对象
// 创建XMLHttpRequest对象 var xhr = new XMLHttpRequest(); //配置请求方式、请求地址以及是否同步 xhr.open(‘POST‘, ‘/armystudy/blob/getVideoSrc‘, 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();
3.Java后台将视频转为视频源
@ResponseBody @RequestMapping("/getVideoSrc") public OutputStream getVideoSrc(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse){ //1.创建文件对象 File f = new File("E:/test/1.mp4"); //2.获取文件名称 String fileName = f.getName(); //3.导出文件 String agent = httpServletRequest.getHeader("User-Agent").toUpperCase(); InputStream fis = null; OutputStream os = null; try { //4.获取输入流 fis = new BufferedInputStream(new FileInputStream(f.getPath())); byte[] buffer; buffer = newbyte[fis.available()]; fis.read(buffer); httpServletResponse.reset(); //5.由于火狐和其他浏览器显示名称的方式不相同,需要进行不同的编码处理if(agent.indexOf("FIREFOX") != -1){//火狐浏览器 httpServletResponse.addHeader("Content-Disposition", "attachment;filename="+ new String(fileName.getBytes("GB2312"),"ISO-8859-1")); }else{//其他浏览器 httpServletResponse.addHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode(fileName, "UTF-8")); } //6.设置response编码 httpServletResponse.setCharacterEncoding("UTF-8"); httpServletResponse.addHeader("Content-Length", "" + f.length()); //设置输出文件类型 httpServletResponse.setContentType("video/mpeg4"); //7.获取response输出流 os = httpServletResponse.getOutputStream(); os.flush(); //8.输出文件 os.write(buffer); }catch(Exception e){ System.out.println(e.getMessage()); } finally{ //关闭流try { if(fis != null){ fis.close(); } if(os != null){ os.flush(); } if(os != null){os.close(); } } catch (IOException e) { System.out.println(e.getMessage()); } } return os; }
原文:https://www.cnblogs.com/IT-study/p/9242665.html
内容总结
以上是互联网集市为您收集整理的Java 使用blob对H5视频播放进行加密全部内容,希望文章能够帮你解决Java 使用blob对H5视频播放进行加密所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。