创建加密文件:将一个mp4视频文件切割为多个ts片段,并在切割过程中对每一个片段使用AES-128 加密,最后生成一个m3u8的视频索引文件;

1.加密用的key(文件则保存当前目录)

指令:openssl rand -base64 20 > enc.key
#提示打开文件本次生成的 n4DHLx7kMPeewvW3dGlm5i/EE8I=

2.另一个是iv(生成一段字符串,记下来):

指令:openssl rand -hex 16
#提示打印出本次生成的682f5033538cf71567e1bdb38f5f9a07

新建一个文件enc.keyinfo 内容格式如下:
Key URI # enc.key的路径,使用http形式
Path to key file   # enc.key文件
IV # 上面生成的iv

实例:
http://edu.gamagou.cn/enc.key
/usr/share/nginx/html/enc.key
682f5033538cf71567e1bdb38f5f9a07

3. ffmpeg加密指令:

/home/programs/video/ffmpeg/ffmpeg -y -i /home/programs/video/test/123.mp4 -hls_time 12 -hls_key_info_file /home/programs/video/conf/enc.keyinfo -hls_playlist_type vod -hls_segment_filename "file%d.ts" playlist.m3u8

加密后的文件形式:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:12
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-KEY:METHOD=AES-128,URI="https://edu.amin.cc/enc.key",IV=0x15de9b7283a69d7ef11f6f12e488fbb7
#EXTINF:12.040000,
file0.ts
#EXTINF:10.440000,
file1.ts
#EXT-X-ENDLIST

4. 播放部分:
jq控件:hls.js
手册:https://www.bootcdn.cn/hls.js/readme/

播放页面:

<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<!-- Or if you want a more recent canary version -->
<!-- <script src="https://cdn.jsdelivr.net/npm/hls.js@canary"></script> -->
<video id="video"></video>
<script>var video = document.getElementById('video');if(Hls.isSupported()) {var hls = new Hls();hls.loadSource('https://替换你的文件路径.m3u8');hls.attachMedia(video);hls.on(Hls.Events.MANIFEST_PARSED,function() {video.play();});} else if (video.canPlayType('application/vnd.apple.mpegurl')) {video.src = 'https://替换你的文件路径.m3u8';video.addEventListener('loadedmetadata',function() {video.play();});}
</script>

完成。

使用ffmpeg视频切片并加密和视频AES-128加密后播放相关推荐

  1. php aes 128位加密,php实现AES 128位加密的相关操作技巧分享

    php实现AES 128位加密的相关操作技巧是什么?这篇文章主要介绍了PHP实现的AES 128位加密算法,结合实例形式分析了AES 128位加密的相关概念.原理及php实现AES 128位加密的相关 ...

  2. api加密 java_API接口 AES简单加密(Java版本)

    业务场景 APP跟服务端接口通讯有部分数据比较敏感不像被爬虫抓取所以想用对参数进行一些加密 搜了一些资料,目前好像用的比较多的就是 这里主要记录下我使用的 ASE加密方式 1.MD5加密(只能加不能解 ...

  3. java aes128加密解密_java AES 128 位加密解密算法

    最近在做app后台的服务器,使用到AES加密解密算法,无奈网上的都不符合要求,于是自己借鉴着写了一个AES加密解密工具. 密钥长度问题 默认 Java 中仅支持 128 位密钥,当使用 256 位密钥 ...

  4. AES在线加密解密-附AES128,192,256,CBC,CFB,ECB,OFB,PCBC各种加密

    一.AES在线加密解密:AES 128/192/256位CBC/CFB/ECB/OFB/PCBC在线加密解密|在线工具|在线助手|在线生成|在线制作 http://www.it399.com/aes ...

  5. AES 128位CBC加密解密(不使用固定IV)

    安全检查时要求账号和密码加密后才能存到数据库中,要求加密算法如下: 1)分组密码算法:AES(密钥长度在128位及以上)(GCM或CBC模式) 2)流密码算法:AES(密钥长度在128位及以上)(OF ...

  6. FFMPEG将视频切片成ts文件并对ts文件进行ASE加密,并合并成M3U8操作方法

    环境:centos7 开发语言:php 框架:视频转码服务系统 生成ASE加密文件需要用到的命令: #!/bin/sh BASE_URL=${1:-'.'} openssl rand 16 > ...

  7. 【FFmpeg性能测试】Linux Centos 4核8G使用FFmpeg配置视频切片,转码性能实测及教程

    测前说明 随着媒体流的技术增长,m3u8在直播和点播行业成为主流,但因视频资源都是整体文件,需要自行或使用高额的第三方切片,所以在这里为大家测试一下入门级服务器的切片和转码性能,供大家参考和学习到底是 ...

  8. 七牛切片视频php,七牛云6:付费视频防盗链-视频切片并通过AES128加密视频

    上一篇我们讲了通过七牛云的私有资源防止付费视频被盗链,今天我们学习一下七牛云的视频切片,并通过AES128进行加密. 视频切片 七牛云提供音视频切片接口以支持HLS(HTTP Live Streami ...

  9. 记录:ffmpeg视频切片

    简介 关于视频切片及播放,在这里简单做一个记录. 环境及安装包 服务器:CentOS 版本:CentOS Linux release 7.5.1804 (Core) FFMpeg资源包:ffmpeg- ...

  10. php-ffmpeg切片,ffmpeg视频切片

    m3u8转MP4 ffmpeg -i http://vn.xcar.com.cn/xtv/qiniu/video/converted/m3u8/2019/10/25/m3u8_o_1do0gva3uq ...

最新文章

  1. Hibernate学习总结【比较与Mybatis框架之间的区别】
  2. python使用tqdm实现程序运行进度条
  3. piblog 0.2
  4. python骨灰教学_python+mongodb+flask的基本使用
  5. python文字教程-Python
  6. MFC应用技术之CTreeControl的使用
  7. JAVA_OA管理系统(四):基于注解的组件扫描
  8. Python tutor 简介
  9. mysql 线性表_线性表之顺序存储,基本操作
  10. MTK 驱动开发(18)---LCD 参数理解
  11. python中垃圾回收机制_python 垃圾回收机制
  12. python pandas dataframe 不显示索引_python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)...
  13. CPU 和 GPU 的区别
  14. CAD中 OLE不能旋转_【设计图文】大空间旋转喷头零件的数控加工工艺设计、编程与加工(有全套cad图+程序+中英文翻译)...
  15. mysql数据库安装教程(超级超级详细)
  16. sql重启oracle数据库,oracle重启数据库sql
  17. 选择什么语言真的重要吗
  18. flink(三):数据处理Transformation
  19. 宝德服务器——企业需要真正的按需定制产品
  20. 推荐11个值得关注的网络安全公众号(年度精选)

热门文章

  1. 序列召回基础+GRU4Rec论文阅读
  2. 《RHEL8新特性》
  3. django orm性能优化
  4. VMware ESXi安装NVIDIA GPU显卡硬件驱动和配置vGPU
  5. 火山安卓开发支付宝自动转账功能
  6. 快速重新安装打印管理器
  7. 第一次写正规论文的同学务必分享,排版自动排版,加注释。。。。。。等等!!!!!!!!(copy也得整出档次来啊,这就是门面啊)...
  8. oracle8i substr,Oracle中INSTR和SUBSTR的用法
  9. java-php-python-ssm室内游戏俱乐部系统计算机毕业设计
  10. V891-Z3735F重做系统,驱动修复汇总