AES-128 加密的 ts 视频文件如何合并

2016-10-01 12:41:37 +08:00
 Coande

现在有一个视频的 m3u8 文件、 ts 文件、 hxk 文件, ts 文件太多,不知道如何合并、播放,求教

48564 次点击
所在节点    程序员
125 条回复
sunnyzhi
2017-01-10 11:34:08 +08:00
各位别价意,我在这里搭个便车。
有个在线的音频文件想抓下来,抓包后下了一堆 ts 文件和一个 key 文件,但不知如何解密合并,求指引

m3u8 文件内的前几行内容如下,共有 29 个 ts 文件。


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:11
#EXT-X-ALLOW-CACHE:NO
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-KEY:METHOD=AES-128,URI="https://mtgstream.now.com/httpstreamer/getHLSKey/0350e19dd12f222602d947a132aa2182ddba7925/VAWM02024516-HD.key",IV=0x00000000000000000000000000000001
#EXTINF:10.007800,
https://mtgstream.now.com/httpstreamer/getHLSSegment/AUDIO/0350e19dd12f222602d947a132aa2182ddba7925/VAWM02024516-HD-1.ts
#EXTINF:10.007800,
https://mtgstream.now.com/httpstreamer/getHLSSegment/AUDIO/0350e19dd12f222602d947a132aa2182ddba7925/VAWM02024516-HD-2.ts
#EXTINF:9.984589,




@larvata 使用 ffmpeg 的方法能否说得详细点,是修改原来 m3u8 还是另外写一个 txt 的 list ?谢谢

@qw0258 这个 m3u8 文件的 vi 值是否必须要有的呢?

谢谢各位
larvata
2017-01-10 14:28:37 +08:00
@sunnyzhi
下载 key 保存到本地
修改这个 m3u8 文件中 key 的地址 改成本地路径
然后用我那个 gist 里的方法执行 ffmpeg
sunnyzhi
2017-01-10 14:47:52 +08:00
我把 key 放到本地硬盘 F:/VAWM02024516-HD.key ,在 m3u8 是这样修改吗?还是写本地 localhost 127.0.0.1 ?,另外 ts 文件要不要先保存到本地硬盘呢?

修改后的 m3u8 :

#EXT-X-KEY:METHOD=AES-128,URI="F:/VAWM02024516-HD.key",IV=0x00000000000000000000000000000001
liujixianff8
2017-02-22 21:21:03 +08:00
@sunnyzhi 您好!您的问题解决了吗?我也遇到了同样的问题。请您赐教。我看了一篇文章,但是毫无结果。该文是在 http://blog.csdn.net/blueboyhi/article/details/40107683
sunnyzhi
2017-02-23 17:14:27 +08:00
@liujixianff8
我是按这个方法( http://dola.xinfan.org/?p=549 )操作的,可行。
1.按 m3u8 的内容下载好 key 和 ts 文件,
2.使用 hexdump 工具 dump 出 key ,使用 openssl 进行解密,然后再使用 ffmpeg 进行文件合并.
怕麻烦用 python 写个脚本就好了。

但又遇到新问题,有的 m3u8 里没有 key 文件,可能这个 key 内置在客户端里了,不知怎么破,有高手指引下吗?
liujixianff8
2017-02-23 20:09:26 +08:00
@sunnyzhi 您好,您和我的问题类似于 yylu123 的问题。我下载了 yylu123 的百度网盘中的文件,总大小为 25.1MB ,共 68 个文件,含扩展名为 ts 的文件 66 个、 index.m3u8 和 vodkey.bin ,我进行了不少的尝试,都没有播放成功。在咱们这个交流组中,有个叫 qw0258 的高手,头像是个老头儿,教授样子,很严肃。 qw0258 发出了一幅图,图中有新东方在线的字样,我的判断是, qw0258 把 yylu123 的问题解决了。 qw0258 这个老头技术高,底蕴深。由于我是一个菜鸟,水平极低,高深的 qw0258 理我吗?
liujixianff8
2017-02-23 20:26:28 +08:00
@sunnyzhi 您好,将多个 ts 文件快速合成一个 ts 文件的方法,详见 http://jingyan.baidu.com/article/ed15cb1b5c4c781be3698116.html ,我试过,很好用。
liujixianff8
2017-02-23 21:57:24 +08:00
@sunnyzhi 您好,我下载了 Coande 的百度网盘中的文件,并与 yylu123 的文件进行了对比,两者的 ts 格式文件相同,不同的是前者中有 index.m3u8 、 vodkey.bin ,后者中有 video.m3u8 、 key.hxk ,交流组的 qw0258 解决了 Coande 的问题,我想 qw0258 也能解决 yylu123 的问题。佩服 qw0258 。
Coande
2017-02-23 23:34:15 +08:00
@liujixianff8 解决我的问题了?哪个讨论组?
liujixianff8
2017-02-24 20:16:07 +08:00
@Coande 您好!在本讨论组中,往上看,有个叫 qw0258 的高手给了您回复, qw0258 贴出了一幅图,图中有新东方在线的字样。另外,您的头像很有创意。
Coande
2017-02-25 09:18:47 +08:00
@liujixianff8 噢~这就是你说的讨论组~谢谢赞赏~
liujixianff8
2017-03-04 21:49:43 +08:00
@sunnyzhi 您好!我是一名高中学生,没有一点的编程基础。按照您给我介绍的办法,我还是一无所获。经网上查, hexdump 是一个查看二进制数的工具,可怜的我不会用; openssl 中都是代码,我也看不懂, ffmpeg 是用来处理多种媒体的,我也没接触过。您能不能教教我,若您没有时间,能不能把您说的方法说得细致些。帮助与否,真诚谢您。
qw0258
2017-03-08 18:21:41 +08:00
@liujixianff8 熟能生巧,深入研究,就会发现 AES128 很容易。现在大部分网站,依旧是原生 hls ,难度都不是高。最近很多人联系我,什么 csdn , 51cto , edusoho 等 hls 解密合并,都没有对 hls 创新,没难度。反倒是某些视频云平台开始在原生基础上衍生出新玩意,比如我现在自己采用的 polyv 点播, app 端加密已经服务器加密校验了 key , key 已经不是 16 位了,难度挺大,最近正在突破,希望能搞定,提升自己的技能。
huaderui
2017-03-11 10:15:52 +08:00
@sunnyzhi 你说的这些工具怎么用啊?这是 py 代码吗?有没有软件啊,还有在 linux 下怎么操作啊
huaderui
2017-03-11 14:41:25 +08:00
@YanwenSun 工具能不能发给我啊
huaderui
2017-03-11 19:32:55 +08:00
@qw0258 求批量解密 ts 的方法。有软件最好了。
Coande
2017-03-12 12:09:06 +08:00
@qw0258 大神,能不能看下邮箱给我回个邮件呢?
qw0258
2017-03-14 09:22:41 +08:00
@huaderui TS 合并工具网上资源很多,自己找找就行
huaderui
2017-03-14 10:39:02 +08:00
@qw0258 合并不是问题,问题是批量解密 ts
eeyykk
2017-03-28 21:49:03 +08:00
@qw0258 我自己搞了一阵,现在有 m3u8 文件和 key 文件,还有一堆.ts 文件,请问大神能帮我解答一下接下来该怎么解密吗?加密方法在 m3u8 文件里面写了,是 aes-128

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/310143

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX