应用功能:将上传的mp4视频进行加密,用户观看视频时必须请求服务端秘钥方能播放。

前期准备:

1.java开发环境。

2.ffmepg工具。下载地址

3.秘钥文件。新建一个TXT文件,输入几个字符串,后缀名改成.key即可。

原理介绍:

1.FFmpeg工具可以将mp4视频转换成m3u8格式的视频。

2.m3u8格式的视频就是一个索引.m3u8文件加若干个切片视频.ts文件。

3.ts文件通过秘钥对称加密生成加密后的ts文件。加密前的文件可以直接用播发器播放,加密后的文件必须用秘钥解密才能播放。

4..m3u8索引文件其实就是一个TXT文件,记录了每个切片的位置、时长、和加密/解密秘钥的位置。

5.mp4转m3u8的时候可以选择加密也可以不加密。

第一步:声明文件位置

String videoPath = "F:/video.mp4";

String toolPath = "F:/ffmpeg.exe";

String m3u8Path = "F:/video/video.m3u8";

String keyPath = "F:/video/key.key";

第二步:拼接命令并执行

StringBuffer buf = new StringBuffer();

buf.append(toolPath);

buf.append(" -y ");

buf.append(videoPath);

buf.append(" -hls_key_info_file ");

buf.append(keyPath);

buf.append(" -hls_playlist_type vod ");

buf.append(" -hls_segment_filename ");

buf.append(" fileSequence%d.ts ");

buf.append(m3u8Path);

try{Runtime.getRuntime().exec(buf.toString());}catch(Exception e){}

第三步:播放加密后的m3u8

保证m3u8文件 、ts文件、key文件的路径都在/video 下。可直接用 VLC等播发器直接播放m3u8文件。

java实现视频加密_JAVA实现视频加密相关推荐

  1. java 获取mp4 缩略图_java获取视频缩略图

    近期由于在做一个关于视频播放的项目,需要使用程序自动获取视频文件的缩略图,特写此文供其他人参考,有不清楚之楚可以给我留言. 1.使用工具:ffmpeg, 官网下载地址:http://ffmpeg.or ...

  2. java 加密_Java版SMS4加密解密算法

    特别说明:该专栏文章均来源自微信公众号<大数据实战演练>,欢迎关注! 前言 最近工作中需要实现HBase自定义扩展sms4加密,今天就先来说一下Java版的SMS4加密解密算法的具体实现. ...

  3. java 视频 缩略图_java获取视频缩略图

    近期由于在做一个关于视频播放的项目,需要使用程序自动获取视频文件的缩略图,特写此文供其他人参考,有不清楚之楚可以给我留言. 1.使用工具:ffmpeg, 官网下载地址:http://ffmpeg.or ...

  4. java 字符 加密_Java 字符串的加密与解密

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 为了保证程序的安全,经常需要用到数据加密的方法.Java 中提供了专门用于加密运算的类和接口. 除了使用加密类和接口外,还可以通过多种方式实现字符串的加密 ...

  5. java如何截取视频文件_Java获取视频时长及截取帧截图详解

    前言 只是最近碰到有这方面的项目需求,所以简单 Mark 下本文.下面的示例是参考过他人分享的文章,之后本人再自行实践.调整和测试过的,希望对有这方面需求的人有所帮助. 示例 添加依赖 org.byt ...

  6. java 图片加密_java 对视频和图片进行加密解密[转]

    是时候回到文件加密与解密的具体实现这个主题上来了.后续的举例均采用图片(包括GIF动画)类型,而其他类型资源的实现原理相同,就不一一给出了.首先来看对一幅JPG类型图片进行异或加密的Java实现,由于 ...

  7. java ase 加密_java实现ase加密解密

    展开全部 这个算法java SDK自带的额 参考代码如下: /**解密 * @param content  待解密内容 * @param password 解密密钥 * @return */ publ ...

  8. java 获取第一帧_java获取视频的第一帧

    //------------maven配置文件--------------- org.bytedeco javacv 0.8 /** * 获取指定视频的帧并保存为图片至指定目录 * @param vi ...

  9. java 3des加密_Java使用3DES加密解密的流程 - 3des加密解密详细解释

    Java使用3DES加密解密的流程 ①传入共同约定的密钥(keyBytes)以及算法(Algorithm),来构建SecretKey密钥对象 SecretKey deskey = new Secret ...

  10. java字节码文件加密_java 字节码加密源码

    java 字节码加密源码 java 2021-2-16 下载地址 https://www.codedown123.com/73152.html java 字节码加密源码,实现对class加密解密 资源 ...

最新文章

  1. PowerShell2.0之维护网络(三)设置网络适配器
  2. CentOS 6.7安装ZooKeeper 3.4.9
  3. netcore磊科小企路由器使用测试-nr235p--测试结果令人气愤!!!!
  4. 数据库表DML不了 可能是被锁了
  5. yii2 html ul,yii2导航小部件子菜单类
  6. 招聘 | 微生太高薪招聘多组学生信官(硕士及以上),月薪12k(北京为例),全国均可办公,推荐成功者奖励2000元...
  7. PyCharm安装Twisted库(报错:Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Stu)
  8. 华为云容器部署WordPress服务
  9. 二代征信在小额线上贷款风控领域应用探索
  10. 俯首甘为孺子牛上一句是什么
  11. 一、安装mysql 单机版
  12. 使用其它模块的头文件
  13. 10K 3435热敏电阻阻值表
  14. 可见光植被指数,RGB影像植被指数
  15. cgi加载java class_深入研究Java类加载机制
  16. 计算机辅助翻译实践总结,trados计算机辅助翻译实践报告材料
  17. Android——Intent总结
  18. Mininet教程(六):多数据中心带宽实验
  19. 【下载安装】ps软件下载免费中文版及安装详细步骤教程(photoshop软件下载)
  20. JAVA_02 j2se j2ee j2me jse jee jme

热门文章

  1. 运维系统 联想服务器,联想IT综合运维平台解决方案.pdf
  2. 设计与人工智能设计师
  3. 深入理解Nginx~网络连接的设置
  4. 软件需求规格说明书范例
  5. ArcGIS 安装出现Mircrosoft .NET Framework 3.5 sp1问题的解决方案
  6. python冰雪奇缘使用教程_99 行 Python 代码实现《冰雪奇缘》特效?网友:大神碉堡!...
  7. python颜色空间之HSV简介
  8. 个性化音乐推荐系统 协同过滤推荐算法在在线音乐播放系统中的应用 基于用户/项目的协同过滤推荐算法 混合协同过滤推荐算法 协同过滤混合推荐算法 代码实现开发 程序实现开发
  9. 深入解析WINDOWS操作系统
  10. Delphi 7 升级到 Delphi 2010 总结