首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Exoplayer播放用AES - 128加密的HLS m3u8视频

ExoPlayer是一个开源的Android播放器框架,它支持多种媒体格式和协议。AES-128是一种对称加密算法,用于对视频进行加密。HLS(HTTP Live Streaming)是一种流媒体传输协议,它将视频分割成小的TS(Transport Stream)片段,并通过m3u8文件进行索引和播放。

使用AES-128加密的HLS m3u8视频具有以下优势:

  1. 安全性:AES-128是一种强大的加密算法,可以有效保护视频内容的安全性,防止未经授权的访问和盗取。
  2. 支持多平台:HLS是一种广泛支持的流媒体传输协议,可以在各种设备和平台上播放加密的HLS视频,包括Android、iOS、Web等。
  3. 适应网络状况:HLS可以根据网络状况自适应调整视频的质量和码率,提供更好的观看体验。
  4. 灵活性:HLS可以根据需求进行定制,包括设置加密密钥、加密算法、片段时长等参数,以满足不同的应用场景。

腾讯云提供了一系列与视频相关的产品和服务,可以用于处理和播放加密的HLS m3u8视频。以下是一些推荐的腾讯云产品和产品介绍链接地址:

  1. 腾讯云点播(云点播):腾讯云点播是一种灵活可靠的视频点播服务,支持存储、转码、加密、播放等功能。您可以使用云点播来存储和播放加密的HLS m3u8视频。了解更多:腾讯云点播
  2. 腾讯云移动直播(云直播):腾讯云移动直播是一种高可用、低延迟的直播服务,支持实时转码、加密、播放等功能。您可以使用云直播来实时加密和播放HLS m3u8视频。了解更多:腾讯云移动直播

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据您的实际需求和业务场景进行决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Apple FairPlay DRM及其工作原理

在我们了解SAMPLE-AES和AES-128的区别之前,请记住这两种技术都使用了AES-128(请阅读构建DRM系统的重要基石——EME、CDM、AES、CENC和密钥)加密,只是应用在视频上的方式不同...SAMPLE-AES 在SAMPLE-AES技术中,你无需加密整个视频,只需使用AES-128的CBC模式加密音频数据包和视频帧的sample,这样一来,就可以节省加密和解密过程中的功耗(尤其在视频分辨率增加的情况下...的朋友科普一下,m3u8用于HLS视频流,描述了可用码率-分辨率组合数量、视频切片数量、每个切片长度以及切片播放顺序、加密细节、广告插入点等。...AES-128 在AES-128技术中,切片(包括音频和视频)通过AES-128、CBC模式和PKCS7填充(Public-Key Cryptography Standards,公钥密码标准)完全加密。...第1步:用户打开内容提供商的App,然后按下“播放键”,开始观看某部电影。 第2步:应用通知AVFoundation它需要播放视频,并向HLS视频流提供m3u8播放列表的详细信息。

3.5K41

技术解码 | 视频加密体系升级 —— 腾讯云视频私有加密方案

根据 HLS 文档规范,索引文件(M3U8 文件)描述了媒体 TS 文件信息以及如何解密 TS 文件的方法。...METHOD 属性描述了加密的算法,可选为 AES-128 或者 SAMPLE-AES,URI 属性描述了获取解密密钥的地址,播放器访问这个 URI 就可以获取到解密的密钥数据: #EXTM3U#EXT-X-VERSION...文件数据结构的基础上,我们来看下HLS 普通加密的原理: 视频文件(TS文件)通过内容密钥 KEY 进行加密,加密方式为 SAMPLE-AES 或 AES-128 客户端播放视频文件时,通过 EXT-X-KEY...云点播针对普通加密存在安全隐患的问题,为您提供了加密私有化的方案,即使用播放器中实时生成的临时密钥对内容密钥 KEY 采用 AES-128 CBC 算法做二次加密,并在播放器中采用指定公钥用 RSA 算法对临时密钥加密...具体方案步骤如下: 播放器随机生成临时密钥,采用 RSA 将临时密钥进行加密,并将加密后的临时密钥传到云点播后台 云点播后台使用临时密钥对内容密钥 KEY 进行AES-128 CBC 二次加密 播放器通过

5.3K31
  • 流媒体加密

    HLS 加密原理 HLS 由两部分构成,一个是 .m3u8 文件,一个是 .ts 视频文件(TS 是视频文件格式的一种)。...#EXT-X-KEY:METHOD=AES-128,URI="https://priv.example.com/key.do?...k=1" 中解析出获取解密密钥的URL https://priv.example.com/key.do 和对称加密算法 AES-128 。 获取到密钥后再在客户端解密出原内容。...HLS 加密实战 支持 HLS 的客户端都原生支持加密,所以要开启 HLS 加密你只需要修改你的服务端: 修改 HLS 视频服务,对 TS 加密,往 m3u8 中加入 EXT-X-KEY 字段。...我想到的方法是: 先付费买一个可正常观看受保护视频的账号。 用抓包工具抓下所有网络请求(可以筛选下限制到只保存 HLS 和 获取key 的请求,防止保存太多垃圾数据)。

    1.8K31

    流媒体加密

    HLS 加密原理 HLS 由两部分构成,一个是 .m3u8 文件,一个是 .ts 视频文件(TS 是视频文件格式的一种)。...#EXT-X-KEY:METHOD=AES-128,URI="https://priv.example.com/key.do?...k=1" 中解析出获取解密密钥的URL https://priv.example.com/key.do 和对称加密算法 AES-128 。 获取到密钥后再在客户端解密出原内容。...HLS 加密实战 支持 HLS 的客户端都原生支持加密,所以要开启 HLS 加密你只需要修改你的服务端: 修改 HLS 视频服务,对 TS 加密,往 m3u8 中加入 EXT-X-KEY 字段。...我想到的方法是: 先付费买一个可正常观看受保护视频的账号。 用抓包工具抓下所有网络请求(可以筛选下限制到只保存 HLS 和 获取key 的请求,防止保存太多垃圾数据)。

    4.5K101

    腾讯课堂点播上云客户端实践总结

    本文是对腾讯课堂点播上云客户端方案的整理与总结,希望能与各位同行一起交流。 一、课堂腾讯云点播 HLS 播放 1. HLS 浅析 (1) HLS 协议 点播业务目前用的是 HLS 协议。...HLS协议规定: 视频的封装格式是TS; 视频编码格式为H264,音频编码格式为MP3、AAC或者AC-3; 除了TS视频文件本身,还定义了用来控制播放的m3u8文件。...二级 index(对应任意一个清晰度)文件如下图所示: 4.png #EXT-X-KEY ---媒体文件有可能要被加密,该标签描述了如何解密媒体文件; METHOD ---包括NONE、AES-128、...其中AES-128表示媒体是由AES-128标准构造的的128bit的 key,和密码块链接(CBC)和PKCS7加密组成的,URI 参数必须出现在METHOD后面; URI ---描述了如何获取key...课堂采用的是HLS加密 [1],所以播放的时候还需要通过DK(密钥)进行TS解密。 4.

    10.9K32

    YouTube开源播放器中文使用指南

    对于自定义播放器非常友好,里面将很多模块抽象成独立的组件可供使用者自行定制,当然官方也提供了一些默认的实现。如果你正在开发视频类功能,强烈推荐你尝试一下ExoPlayer。...可以根据用户的需求方便的对播放器行为进行定制和扩展,ExoPlayer中的很多组件都支持自定义和扩展。 支持播放视频列表,并且可以支持对视频的裁剪、合并,以及循环播放设置。...支持更多的视频格式,包括MediaPlayer不支持的DASH、SmoothStreaming。 支持 Widevine功能,这个功能可以下载和播放经过Google加密的视频文件。...(no DRM) 4.1 16 HLS (AES-128 encryption) 4.1 16 HLS (Widevine CENC; “cenc” scheme) 4.4 19 HLS (Widevine...release方法进行释放 上面已经整体介绍了使用ExoPlayer去播放视频的步骤。

    4K20

    一个ExoPlayer原生播放问题引起的思考

    问题背景 我们在使用ExoPlayer播放视频的视频发现一种特殊的M3U8视频,播放总是失败。 而且报如下的错误: ExoPlayerImplInternal: Source error.....source.hls.e.f(HlsMediaChunk.java:284) at com.google.android.exoplayer2.source.hls.e.load(HlsMediaChunk.java...这次ExoPlayer发生播放这样视频失败的原因,就是因为视频源没有遵守TS Packet大小为188字节的规则,这样的错误很尴尬,它违反了标准,但是它前188字节是标准的TS数据。...这样的判断在标准上而言是没有什么问题的。 我们应该怎么改 我们遇到这样的播放失败,只能采用两种办法了? 向M3U8的提供方提意见,最好修改一下TS内部格式,让其符合标准。...定制化修改ExoPlayer源码,适配这种异常的类型。 第一种难度可能要点高,不太现实,毕竟让服务方给你改东西,人接不太原因。那就只好播放器去适配,播放器将这个校验去掉有没有问题?

    3.5K20

    技术解码 | 打造更安全的视频加密,云点播版权保护实践

    - 基础加密方案 - Apple 的 HLS 是当前行业应用最广的在线音视频流格式,并且 HLS 也提供了一种使用对称密钥加密方案,一般被称为 HLS Encryption。...HLS Encryption 的基本原理是,内容平台将 HLS 中的各个 TS 文件使用 AES-128 的密钥(Key)和初始向量进行加密。...#EXTM3U#EXT-X-VERSION:3#EXT-X-KEY:METHOD=AES-128,URI="https://keyprovider",IV=0x123… 如上面的 M3U8 所示,若 HLS...被加密,解密所需要的信息被包含在  EXT-X-KEY 标签中: TS 内容被使用 AES-128 加密; 内容密钥从 https://keyprovider 地址获取; 解密的初始向量为 0x123...云点播的「基础加密方案」,是基于 HLS Encryption 实现的标准方案。采用这种方案加密之后,任何终端播放该视频,都必须通过业务服务器的合法校验并获取内容密钥,否则无法播放。

    2.4K50

    如何保护会员或付费视频?优酷是怎么做的? - HLS 流媒体加密

    这是弹幕播放器系列文章第 4 篇,上篇请点击 原来爱优腾等视频网站都是用这个来播放流媒体的。播放器官网:https://nplayer.js.org/ 。...当然也可以服务器端返回的 m3u8 文件中就将签名加上。 hls.js 有两个 loader 一个是 xhr-loader 一个是 fetch-loader。...如果想让视频下载下来也不能观看的话可以对视频片段进行 AES128 加密,AES128 是 HLS 最常用的加密,并且 hls.js 也支持这种加密,它是对称加密(使用同一个密钥进行加密和解密)。...openssl rand 16 > file.key# 用 openssl 生成一个密钥文件 使用 ffmpeg 对 HLS 视频加密,还需要一个 keyinfo 文件,文件格式如下: http://www.www.com...> file.keyinfo 通过上面命令创建好 keyinfo 文件后,就可以使用 ffmpeg 生成加密的 HLS 视频了。

    1.8K30

    python知识点100篇系列(18)-解析m3u8文件的下载视频

    什么是m3u8:m3u8是苹果公司推出的视频播放标准,是m3u8的一种,只是编码格式采用的是UTF-8。...其实m3u8是一种索引文件,m3u8文件中记录了视频的网络地址; 和m3u8配套的一个概念是HLS: HLS(Http Live Streaming) 是一个由苹果公司提出的基于HTTP的流媒体网络传输协议...,直接把流媒体切片成一段段ts文件,通过m3u8索引文件按序访问ts文件,客户端不停的从服务器获取文件,实现播放音视频的功能 HLS 的工作原理是把整个流分成一个个小的基于 HTTP 的文件来下载,每次只下载一些...基于以上的概念,如果要下载相关的ts文件,首先是需要找到m3u8文件; 下载m3u8文件: m3u8文件一般可以直接在浏览器里找到,打开目标视频播放页面,按F12打开开发者模式 选择NetWork,在过滤框中输入...;以便于后续合并; 如果ts下载的文件无法播放,那可能是需要解密: 首先查看一下m3u8文件中是否有类似下图的文字;其中URI指向的就是加密的key; 如图所示,METHOD=AES-128,代码加密的方式是

    18810

    多媒体文件格式剖析:M3U8篇

    M3U8背景介绍 M3U8,用 UTF-8 编码。"...如果在直播中使用HLS技术,那么执行流程如下:图片来源于苹果官网; 我们播放一个HLS,首先要对HLS流对应的M3U8文件进行解析,解析M3U8文件,首先要搞清楚M3U8的封装格式。...下面会详解 #EXT-X-PLAYLIST-TYPE 表明流媒体类型; #EXT-X-KEY 是否加密解析, #EXT-X-KEY:METHOD=AES...r=52" 加密方式是AES-128,秘钥需要请求 https://priv.example.com/key.php?...5.如何在M3U8中插入广告 M3U8文件中插入广告,要想灵活的控制广告,则广告可以插入任何视频中,那么无法保证广告的编码格式和码率等信息和原视频的编码格式等信息保持一致,就必须告知播放器,在插入广告的地方

    6.7K31

    视频内容安全保护技术分析与实现

    而FMP4支持AES-128,但SAMPLE-AES仅支持CBCS。苹果宣布支持HEVC后不久我们很快实现了。...DASH协议中比较常见的同为FMP4与MPGEGTS,其中MPEGTS支持AES-128、SAMPLE-AES而FMP4支持AES-128与全部SAMPLE-AES。...Google之前并未对这种counter加密提供支持,现在实现了支持,而苹果的标准只支持NAL的局部采样加密,且除了支持以上标准也支持AES128。...经过HLS与DASH保护的内容同样可被盗取。当盗链者盗取对应m3u8内容中的Key信息之后会首先获取内容链接,然后使用Key解锁对应内容。...大家可以留意一下中央电视台CNTV的网络流即使被抓取后播放也显示花屏,我推测其关键在于Key信息并非存储在m3u8或mpd中,而使用部分内容加密的策略使得传统破解方式得到的IDR信息不准确从而导致非法播放不正常

    1.4K10

    【腾讯课堂】视频点播上云实践

    目前上云之后,我们使用的是加密 HLS 的方案,通过云提供的 Key 防盗链 和 DRM(数字版权管理)方案,我们对视频做了加密处理,就算被拿到了视频地址,也无法进行盗录,进一步打击了恶意行为,保护了老师的版权...DK 用于对视频的加密切片进行解密,用户直接获取到的视频分片均通过 AES-128 进行了加密,其值由腾讯云密钥管理服务(KMS)提供。...回到我们加密的主题,如果是每一个TS分片做加密,是不是就算把m3u8下载下来,也没法播放了呢?HLS 的普通 AES 加密技术正是这样做的。引入了HLS普通加密之后,整个流程就变成了这样: ?...腾讯云提供了两种方式,具体可以看HLS 普通加密 。上图示例即是第一种方案,用例子来解释一下。...课堂这边是开启了防盗链和HLS加密的,所以上述的判断流程都走绿色的路径; tokenObj 是防盗链的token,里面包括: 播放地址的过期时间戳、试看时长、链接标识、防盗链签名。

    8.5K31

    【JS 逆向百例】吾爱破解2022春节解题领红包之番外篇 Web 中级题解

    HLS 全称 HTTP Live Streaming,即基于 HTTP 的自适应码率流媒体传输协议,是苹果研发的动态码率自适应技术,它包括一个 M3U(8) 的索引文件,若干 TS 视频流文件,如果视频流文件是加密的...M3U8 文件是各种音频和视频播放程序使用的播放列表文件,它包含了媒体文件或媒体文件夹的路径或 URL,以及有关播放列表的相关信息。...针对 TS 格式的文件,如果是未加密的,一般的播放器就能够直接播放,也可以使用 FFmpeg 等工具转换为其他格式,FFmpeg 也可以直接处理 M3U8 文件,自动解密合并转换 TS 文件,当然也有其他大佬写好的小工具...:METHOD=AES-128,URI="https://www.example.com/m3u8.key" #EXT-X-TARGETDURATION:5 #EXTINF:4.200000, https...先来看看 m3u8 文件,可以看到是 AES-128 加密,加密的 key 文件地址为 key://live,如下图所示: [02.png] 一般情况下,要想解密 ts,必然会去请求 key 的地址,拿到

    1.9K20

    看前端如何通过WebAssembly实现播放器预览能力

    最近,团队小组内部体验Web浏览器上课的音视频播放功能,除了对比同行产品,也对比了主流视频内容的网站平台。计划补齐和增强与播放体验相关的能力。...②支持区分判断HLS加密,获取解密秘钥,AES 解密ts文件数据。 ③ts文件arraybuffer数据,申请内存并写入wasm,调用wasm封装截图方法,返回RGB数据。...Native HLS解析:对于移动端浏览器,或者safari等浏览器,使用native播放m3u8的模式。我们可以自己解析m3u8的masterPlayList,然后自行解析。...AES解密ts文件 获取解密Key由于点播HLS资源已经进行了加密,ts文件数据无法直接给到wasm截取帧画面。所以要对ts进行解密。...IV数据直接取playlist上的IV即可。 同样的,在MSE HLS播放的,hls.js实例上能读取到KEY和IV;对于native hls播放的,需要自己二次请求获取。

    2.4K10

    【腾讯课堂】视频点播上云实践

    目前上云之后,我们使用的是加密 HLS 的方案,通过云提供的 Key 防盗链 和 DRM(数字版权管理)方案,我们对视频做了加密处理,就算被拿到了视频地址,也无法进行盗录,进一步打击了恶意行为,保护了老师的版权...DK 用于对视频的加密切片进行解密,用户直接获取到的视频分片均通过 AES-128 进行了加密,其值由腾讯云密钥管理服务(KMS)提供。...回到我们加密的主题,如果是每一个 TS分片做加密,是不是就算把 m3u8下载下来,也没法播放了呢?HLS 的普通 AES 加密技术正是这样做的。...引入了 HLS普通加密之后,整个流程就变成了这样: 为了简单起见,我们忽略了 COS CDN 这一块的图示。解释一下上图: 首先是加密,要加密就要要密钥。...当然是要有用户的身份信息(cookie)。腾讯云提供了两种方式,具体可以看HLS 普通加密 。上图示例即是第一种方案,用例子来解释一下。

    8K10

    FFmpeg开发笔记(五十六)使用Media3的Exoplayer播放网络视频

    ​Android早期的MediaPlayer控件对于网络视频的兼容性很差,所以后来单独推出了Exoplayer库增强支持网络视频,在《Android Studio开发实战:从零基础到App上线(第3版)...升级后的Exoplayer就成为Media3的统一媒体播放引擎,提供了音频和视频播放的应用级组件,意欲在音视频渲染方向上一统江湖。...基于工厂对象和媒体对象创建媒体来源    MediaSource videoSource;    if (uri.getPath().endsWith("m3u8")) { // hls链接       ...播放HLS链接、播放RTMP链接、播放RTSP链接、播放普通网络视频。...可见成功把Media3的ExoPlayer库跑了起来,并且正常播放网络视频。更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。​

    46010
    领券