m3u8及TS文件下载解密:用FFmpeg解密合并m3u8中ts文件(二)_ffmpeg解密ts有key-程序员宅基地

技术标签: m3u8中本地文件格式  TSmaster  m3u8及ts文件解密下载  tsmaster解密下载  

关于本地文件的m3u8格式

从网站上下载的m3u8文件格式是这样的

在这里插入图片描述

如果想用ffmpeg文件在线处理,直接把其中的XXXXXX.ts和key.key文件替换成全路径的就可以,比如这样:

在这里插入图片描述
然后直接用ffmpeg命令处理这个m3u8文件就可以了,执行时会自动用网站上的ts文件流和key文件处理,但速度会非常慢。

我们已经下载到本地了,可以直接将m3u8文件中的key文件和ts文件直接改成本地的。但具体格式要怎么写呢?

(1)网上有这种写法 file:///d:\temp\xxxx.ts 。最初试了一下,没成功,就没用这种了。

(2)左斜杠 / ,如

#EXTM3U
#EXT-X-TARGETDURATION:37
#EXT-X-KEY:METHOD=AES-128,URI=“d:/temp/vd201906291/key.key”
#EXTINF:0,
d:/temp/vd201906291/O7rSBp5l5847000.ts
#EXTINF:0,
d:/temp/vd201906291/O7rSBp5l5847001.ts
#EXTINF:0,
d:/temp/vd201906291/O7rSBp5l5847002.ts
#EXTINF:0,
d:/temp/vd201906291/O7rSBp5l5847003.ts
#EXTINF:0,
d:/temp/vd201906291/O7rSBp5l5847004.ts
#EXTINF:0,
d:/temp/vd201906291/O7rSBp5l5847005.ts
#EXTINF:0,
d:/temp/vd201906291/O7rSBp5l5847006.ts
#EXTINF:0,
d:/temp/vd201906291/O7rSBp5l5847007.ts
#EXTINF:0,
d:/temp/vd201906291/O7rSBp5l5847008.ts
#EXT-X-ENDLIST

ffmpeg可以正常的解密处理和转化ts文件。

(3)右斜杠 \ 如
#EXTM3U
#EXT-X-TARGETDURATION:37
#EXT-X-KEY:METHOD=AES-128,URI=“D:\temp\vd201906291\key.key”
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847000.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847001.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847002.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847003.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847004.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847005.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847006.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847007.ts
#EXT-X-ENDLIST

执行时会报
[hls,applehttp @ 0000000000492c40] Error when loading first segment ‘D:\temp\vd2
01906291\O7rSBp5l5847000.ts’
D:\temp\vd201906291\tsmaster.m3u8: Invalid data found when processing input
找不到数据,因此m3u8文件中的右斜杠\ 是不行的。

(4)但是,key文件用左斜杠,ts文件用右斜杠又是可以的:
#EXTM3U
#EXT-X-TARGETDURATION:37
#EXT-X-KEY:METHOD=AES-128,URI=“D:/temp/vd201906291/key.key”
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847000.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847001.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847002.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847003.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847004.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847005.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847006.ts
#EXTINF:0,
D:\temp\vd201906291\O7rSBp5l5847007.ts
#EXT-X-ENDLIST

因此,可以知道,当使用本地的ts和key文件时,m3u8的路径格式是:
1、不需要加file:///前缀,直接用路径就可以
2、key文件必须是左斜杠/ , ts文件用左斜杠 / 或者 右斜杠 \ 都可以

TSMaster工具

TSMatser是一个m3u8及TS文件、CKplayer视频文件下载解密工具。
csdn 下载:https://download.csdn.net/download/cquptvlry/11262603
百度网盘: https://pan.baidu.com/s/17AdvQjoD0i_oiYKwcxZoGQ 提取码 r987
百度网盘: https://pan.baidu.com/s/1XGTaS6UvEnzQtna5aoECZA 提取码 it7t
使用工具选择存放key和ts文件的文件夹时,会自动生成一个带有本地key和ts文件格式的m3u8文件。
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cquptvlry/article/details/94185316

智能推荐

php怎么取radio,php 获取表单单选框radiobutton数据的简单示例-程序员宅基地

文章浏览阅读515次。这篇文章主要为大家详细介绍了php 获取表单单选框radiobutton数据的简单示例,具有一定的参考价值,可以用来参考一下。对php中获取表单单选框radiobutton数据的方法感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!html表单代码/*** php中获取表单单选框radiobutton数据的方法** @param* @arrange 512-笔记网: www.512Pic...

Python可视化:`legend()`函数详细参数_python中legend函数-程序员宅基地

文章浏览阅读8.9k次,点赞4次,收藏15次。Python可视化:legend()函数详细参数legend()函数是用来设置图像图例相关参数的函数,其所有参数解释如下:Signature: plt.legend(*args, **kwargs)Docstring:Place a legend on the axes.Call signatures:: legend() legend(labels) legend(handles, labels)The call signatures correspond to _python中legend函数

ubuntu各个版本镜像下载地址_乌班图mini镜像下载-程序员宅基地

文章浏览阅读919次。ubuntu各个版本镜像下载地址:http://mirrors.melbourne.co.uk/ubuntu-releases/--------------------------------分割线-------------------------------------常用12.04版本链接:http://old-releases.ubuntu.com/releases/12.04.1/..._乌班图mini镜像下载

Python 面向对象_python中ys()-程序员宅基地

文章浏览阅读139次。面向对象编程—Object Oriented Programming, 简称OOP, 是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象可以是数据,也可以是操作数据的函数。面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。而面向对象的程序设计把计算机程序视为一组..._python中ys()

Android SDK各个版本API的特性及兼容性(Dalvik/ART)_android sdk是17可以兼容最高安卓版本-程序员宅基地

文章浏览阅读5.5k次。Android最新support包v4,v7,v13,v14,v17等 - http://download.csdn.net/download/u012808234/9502763Android API Level与sdk版本对照表- http://blog.csdn.net/shuaishenkkk/article/details/18400711Android系统版本与API等级对应关..._android sdk是17可以兼容最高安卓版本

条件随机场、CBOW、word2vect、skip-gram、负采样、分层softmax(1)_scikit-learn 条件随机场-程序员宅基地

文章浏览阅读462次。用gensim学习word2vec摘要: 在word2vec原理篇中,我们对word2vec的两种模型CBOW和Skip-Gram,以及两种解法Hierarchical Softmax和Negative Sampling做了总结。这里我们就从实践的角度,使用gensim来学习word2vec。 1. gensim安装与概述 gensim是一word2vec原理(三) 基于Neg..._scikit-learn 条件随机场

随便推点

Android Studio生成和引用.aar库文件_android studio 访问 libs下面的aar中的资源-程序员宅基地

文章浏览阅读5k次。先来句综述:.aar和.jar库文件的区别 aar 文件是建立在 jar 文件的基础之上, aar 是 jar 文件的一个变种。其实他们本质上没有什么区别,都是压缩包,只是能包含的内容不一样。jar只包含了class文件与清单文件。虽然也能包含资源文件,但不过是文本资源和图片资源,不能包含Android平台下的drawable以及各种xml文件.aar包括的东西更多一些,包含所有资源,cla_android studio 访问 libs下面的aar中的资源

系统分析师考试通过了,一点感想_系统分析师通过人的感想-程序员宅基地

文章浏览阅读2.1k次。第一次考试是在2006年5月份,结果被吓倒了,考试都没敢去。第二次因为感觉没有退路,反而孤注一掷,两个月内坚持把几本参考书看完了,同时在网上把一些新技术熟悉了一遍。尤其是SOA恰好给赶上了。因而险过系统分析师考试。我会在5月份之前总结我的一些经验,给有类似经历的人借鉴。路漫漫,其修远兮,吾将上下而求索!_系统分析师通过人的感想

Tomcat和Weblogic环境下对BLOB类型字段的处理-程序员宅基地

文章浏览阅读170次。开发项目一般都喜欢用Tomcat做测试环境,开发好后需要移到weblogic下,这时候发现问题不断。由于weblogic的严密性,程序中有些数据的转换出现错误,一些小问题倒是好解决,知道在处理BLOB字段类型数据时走了不少弯路,下面就说说这个BLOB字段在这两种web服务器类型下的不同处理情况。我的大内容文字都是存在CLOB字段里,BLOB用于存储图片。一、Tomcat环境下的BL..._tomcat blob文件流

node中的require_node require-程序员宅基地

文章浏览阅读4.1k次。1 /*在node中,可以使用require()函数来加载模块. 2 * require函数使用一个参数,参数值可以带有完整路径的模块的文件名,也可以为模块名.当使用node中提供的模块时,在requ..._node require

D3D中的纹理贴图(1)_d3d9 纹理-程序员宅基地

文章浏览阅读593次。提示:阅读本文需要一定的3D图形学和DirectX9基础,如果你发现阅读困难,请参阅 D3D中基本三角形面的绘制。本文用到的坐标系统变换函数请参阅 DirectX 9的坐标系统变换。纹理是指物体表面本身所具有的图案,可采用贴图的方法将一张二维图象张贴到一个三维物体的表面,这就是所谓的纹理贴图技术。与材质一样,纹理也是物体表面的一种属性,同时结合材质,光照和纹理技术可_d3d9 纹理

GDAL+Python实现栅格影像处理之拼接镶嵌Mosaic_gdal拼接栅格-程序员宅基地

文章浏览阅读6.9k次,点赞7次,收藏46次。GDAL+Python实现栅格影像处理之镶嵌镶嵌概念使用方法代码实现代码实现效果展示镶嵌概念镶嵌是指将有重叠区域的多个图像根据其地理坐标将其拼接生成一个图像的过程。实现原理:1、计算各个待镶嵌图像的四至范围,然后对计算的各个待镶嵌的图像的四至范围求并得到整个镶嵌结果的四至范围2、通过指定输出图像的分辨率以及计算的四至范围计算输出图像的大小,并创建输出图像3、循环处理每个待镶嵌图像,..._gdal拼接栅格

推荐文章

热门文章

相关标签