天天看点

m3u8及TS文件下载解密:用FFmpeg解密合并m3u8中ts文件(二)

关于本地文件的m3u8格式

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

m3u8及TS文件下载解密:用FFmpeg解密合并m3u8中ts文件(二)

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

m3u8及TS文件下载解密:用FFmpeg解密合并m3u8中ts文件(二)

然后直接用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文件。

m3u8及TS文件下载解密:用FFmpeg解密合并m3u8中ts文件(二)