• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Coande
V2EX  ›  程序员

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

  •  
  •   Coande · Oct 1, 2016 · 52307 views
    This topic created in 3691 days ago, the information mentioned may be changed or developed.

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

    Supplement 1  ·  Oct 1, 2016
    需要合并的视频: https://pan.baidu.com/s/1dFFSzwH
    125 replies  •  2020-03-08 21:27:10 +08:00
    1  2  
    ❮ ❯
    em70
    em70
    Oct 1, 2016 via iPhone
    1
    Aes 解密代码很多开源的,解密后直接首尾拼合即可
    Coande
    Coande
    OP
    Oct 1, 2016
    2
    @em70 例如?
    sherlocktheplant
    sherlocktheplant
    Oct 1, 2016
    3
    直接依次写入文件就行了 只是有些播放器不能拖进度
    Coande
    Coande
    OP
    Oct 1, 2016
    4
    @sherlocktheplant 请问怎么写入呢?
    sherlocktheplant
    sherlocktheplant
    Oct 1, 2016
    5
    @Coande 按顺序逐字节写入速度 我不知道如何能表达得更简单
    sherlocktheplant
    sherlocktheplant
    Oct 1, 2016
    6
    按顺序逐字节写入 我不知道如何能表达得更简单
    em70
    em70
    Oct 1, 2016 via iPhone
    7
    @Coande Windows 的 copy 命令就可以拼合,解密代码很多的,各种语言都能找到,自己谷歌吧
    YanwenSun
    YanwenSun
    Oct 1, 2016 via iPhone
    8
    key 在 m3u8 里写好的话 可以直接用 ffmpeg 输出
    monnand
    monnand
    Oct 1, 2016 via Android
    9
    AES 只是 block cipher 算法,你得看你的用的是什么 mode
    Coande
    Coande
    OP
    Oct 1, 2016
    10
    @monnand 怎么看
    Coande
    Coande
    OP
    Oct 1, 2016
    11
    @YanwenSun 对,在 m3u8 里写好的了。没用过 ffmpeg ,怎么输出呢? ts 文件我都下载下来了,怎么处理呢?
    Coande
    Coande
    OP
    Oct 1, 2016
    12
    @em70 所有 ts 文件 copy 到一个文件然后再 AES-128 解密?
    Coande
    Coande
    OP
    Oct 1, 2016 via Android
    13
    @sherlocktheplant 太专业了,并不懂😂
    em70
    em70
    Oct 1, 2016 via iPhone
    14
    @Coande 先解密再拼合,要自己写程序处理,如果你什么都不懂,那很难了
    Coande
    Coande
    OP
    Oct 1, 2016
    15
    @em70 有没有现成的工具呢?或者实现思路?
    larvata
    larvata
    Oct 1, 2016❤️2
    16
    之前整理过方法
    https://gist.github.com/larvata/95df619df7109d8b74d2b965a3266354

    首先 先下载 key 和 m3u8
    然后修改 m3u8 中 key 的路径
    最后 用 ffmpeg 下载
    ffmpeg -i <source.m3u8> -c copy <target.ts>
    Coande
    Coande
    OP
    Oct 1, 2016 via Android
    17
    @larvata 谢谢,我去试试
    Sequencer
    Sequencer
    Oct 1, 2016
    18
    最近也在折腾这个
    只是我要看的 key 和 m3u8 被加密了
    还在从从 Java 里面反编译出来解密
    qw0258
    qw0258
    Oct 1, 2016❤️1
    19
    贴个视频地址出来,我帮你看看。以前研究过一段时间, 自认为国内 TOP20 的在线教育网站能够搞定一半。
    Coande
    Coande
    OP
    Oct 1, 2016
    20
    @qw0258 哈哈哈,对了,就是教育网站的视频。私聊。
    Coande
    Coande
    OP
    Oct 1, 2016
    21
    @qw0258 qq or email ?
    Coande
    Coande
    OP
    Oct 1, 2016
    22
    @Sequencer 有没有什么资料?
    Coande
    Coande
    OP
    Oct 1, 2016
    23
    @larvata 使用 ffmpeg 时, Invalid data found when processing input
    qw0258
    qw0258
    Oct 1, 2016
    24
    @Coande ID gmail
    Sequencer
    Sequencer
    Oct 1, 2016
    25
    @qw0258 http://icourses.cn
    你看看这个?
    我已经搞到一半了。
    反编译了 JAVA 拿到解密算法 还没开始写
    不过写完了之后估计也就没啥了
    你看看有什么好的方法么?
    @Coande 没有资料...
    纯反编译 JAVA
    很简单 但是很麻烦
    Coande
    Coande
    OP
    Oct 1, 2016
    26
    @Sequencer 知道怎么播放吗?我播放不了。。。
    YanwenSun
    YanwenSun
    Oct 1, 2016 via Android
    27
    前几天写了一个下载 HLS 的工具 网站上下载 m3u8 自动解析分片 10 个 ts 换一次 key key 需要格式化成 16 进制 按顺序下载 ts 到数组里 调 openssl aes cbc 解密 解密后的数据直接写盘就好 手工合并太麻烦了 换 key 就得累死
    larvata
    larvata
    Oct 1, 2016
    28
    @Coande 如果下载到本地的那个 m8u3 文件 ts 和 key 的路径都修改正确的话( ts 需要补全域名部分 key 需要补全本地的相对路径) 那就不清楚了 之前没有碰到过这种情况
    Coande
    Coande
    OP
    Oct 1, 2016 via Android
    29
    @YanwenSun 有没有源码,可以借鉴下吗?
    Coande
    Coande
    OP
    Oct 1, 2016 via Android
    30
    @larvata 要不你合并附言那个视频试试?
    larvata
    larvata
    Oct 1, 2016
    31
    @Coande 试过了附言那个 和你同样的报错
    比较了下我之前下载成功的 m3u8 发现你的这个缺少 IV 的值

    不知是不是这个导致的解密失败 除此之外完全没有头绪
    #EXT-X-KEY:METHOD=AES-128,URI="key",IV=0xda30458664ef12a418323ef17f5e2341
    YanwenSun
    YanwenSun
    Oct 1, 2016 via iPhone
    32
    @Coande 有源码 VS+libcurl+ openssl library 的 但只能在 7 号开学之后才能发给你
    isnowify
    isnowify
    Oct 1, 2016 via Android
    33
    研究过 xueersi 的 ts ,和你这一模一样,搜了几次都没结果。。
    Sequencer
    Sequencer
    Oct 1, 2016 via iPhone
    34
    播放就是楼上的方法 懒得下载 问问你得到的 m3u8 是否被加密 i
    Coande
    Coande
    OP
    Oct 2, 2016 via Android
    35
    @larvata 还是谢谢啦
    Coande
    Coande
    OP
    Oct 2, 2016 via Android
    36
    @YanwenSun 有点陌生。。。你用什么语言写的?_?
    Coande
    Coande
    OP
    Oct 2, 2016 via Android
    37
    @Sequencer 怎么算是被加密了?_?
    Coande
    Coande
    OP
    Oct 2, 2016 via Android
    38
    @isnowify 哈。同道中人。刚才上某宝看了下居然有我要的视频,人家几百块的,他拿去卖几块钱😂。某宝就是强大😂
    Sequencer
    Sequencer
    Oct 2, 2016 via iPhone
    39
    m3u8 文件被 aes 加密 解密 iv 被写到客户端里
    打开 m3u8 是乱码
    Coande
    Coande
    OP
    Oct 2, 2016
    40
    @Sequencer 你描述的是两种情况?我这个视频就是 aes 加密, m3u8 不乱码,没 IV 。这就是 IV 被写到客户端里面了吗?
    crystone
    crystone
    Oct 2, 2016
    41
    这个不错,学习了
    xxxyyy
    xxxyyy
    Oct 2, 2016 via Android
    42
    @Coande 你这个应该缺少 IV ,哪个网站(应用)上的,方便贴出来吗?
    Coande
    Coande
    OP
    Oct 2, 2016 via Android
    43
    @xxxyyy imooc
    Sequencer
    Sequencer
    Oct 2, 2016 via iPhone
    44
    喔不是 你的可能要稍微简单一些 icourse 连 m3u8 的文本都加密了
    Coande
    Coande
    OP
    Oct 2, 2016 via Android
    45
    @Sequencer IV 可以在客户端里传啊?这样的话,客户端反编译不了,那是不是没戏了?
    Sequencer
    Sequencer
    Oct 2, 2016
    46
    @Coande icourse 的客户端很智障 硬写到客户端里了... 不过暂时还没有时间来写解密的算法
    Coande
    Coande
    OP
    Oct 2, 2016 via Android
    47
    @Sequencer 对,很智障,哈哈哈
    xxxyyy
    xxxyyy
    Oct 2, 2016
    48
    @Coande 免费的还是收费的?免费的很容易下呀
    Coande
    Coande
    OP
    Oct 2, 2016 via Android
    49
    @xxxyyy 收费的
    xxxyyy
    xxxyyy
    Oct 2, 2016 via Android
    50
    @Coande 你在 pc 上看过这些视频吗?如果在 pc 上它是使用 HTML 5 的 video 标签来播放的,一般是 mp4 格式的,这个下起来比较容易。
    Coande
    Coande
    OP
    Oct 3, 2016 via Android
    51
    @xxxyyy 看过。也是加载 m3u8 的。用的 video 标签, src 是 blob 的。
    xxxyyy
    xxxyyy
    Oct 3, 2016 via Android
    52
    @Coande 那还好办,相关解密算法应该在 js 里。
    Coande
    Coande
    OP
    Oct 3, 2016 via Android
    53
    @xxxyyy js 太多太杂。。。
    gushengren
    gushengren
    Oct 8, 2016
    54
    @Coande 兄弟,你搞定了吗?
    gushengren
    gushengren
    Oct 8, 2016
    55
    @YanwenSun 哥们可以破解类似的加密视频吗,有偿求助,联系我好吗?QQ44269959
    gushengren
    gushengren
    Oct 8, 2016
    56
    @larvata 哥们可以破解类似的加密视频吗,有偿求助,联系我好吗?QQ44269959
    Coande
    Coande
    OP
    Oct 9, 2016 via Android
    57
    @gushengren 没搞定。。。
    yylu123
    yylu123
    Oct 10, 2016
    58
    @Coande 兄弟解决了吗,我也有类似的视频想破解。特地注册了个帐号来求助。
    Coande
    Coande
    OP
    Oct 10, 2016
    59
    @yylu123 没有 (⊙﹏⊙)b
    Coande
    Coande
    OP
    Oct 10, 2016
    60
    @qw0258 有结果没有。。。
    qw0258
    qw0258
    Oct 11, 2016
    61
    @Coande 我今天试试
    yylu123
    yylu123
    Oct 11, 2016
    62
    @qw0258 你好 我发了一个邮件到你 gmail 邮箱了,帮忙看看,不胜感激。
    qw0258
    qw0258
    Oct 11, 2016
    63
    @Coande http://imgur.com/a/oJEJA

    你百度云盘压缩包里的 key 已经过了生存时间了。 通过另外一个办法试了试。
    qw0258
    qw0258
    Oct 11, 2016❤️1
    64
    yylu123
    yylu123
    Oct 12, 2016
    65
    @qw0258 http://pan.baidu.com/s/1jHBywvG
    你好 这个能不能帮我看看。不胜感激。
    wxysystem
    wxysystem
    Oct 12, 2016
    66
    @qw0258 51cto 手机 app 里面的视频的 m3u8 文件内没有 key ,能解吗
    Coande
    Coande
    OP
    Oct 12, 2016 via Android
    67
    @qw0258 这个不是我要的视频。 key 会过期吗?改系统时间不行吗?
    qw0258
    qw0258
    Oct 12, 2016
    68
    @Coande KEY 会过期。我也不知道你的系统时间是什么时候啊。
    yylu123
    yylu123
    Oct 13, 2016
    69
    @qw0258 能帮我看看吗,不胜感激,可有偿。
    qw0258
    qw0258
    Oct 14, 2016
    70
    @yylu123 你网盘那个链接不就是 新东方的客户端的加密 hls.密钥加密了
    yylu123
    yylu123
    Oct 14, 2016
    71
    @qw0258 是新东方的,离线后不用客户端要怎么看?
    Coande
    Coande
    OP
    Oct 14, 2016 via Android
    72
    @qw0258 时间是发帖时
    coldsun123
    coldsun123
    Oct 22, 2016
    73
    我也遇到同样的问题,只不过我的没有 IV KEY 文件是直接浏览器访问得到 12 位数字,搞了一天没有搞定 QW0258 能不能帮下忙 我 QQ2331549
    coldsun123
    coldsun123
    Oct 22, 2016
    74
    是 16 位,哈哈,打错了
    kai910106440
    kai910106440
    Dec 15, 2016 via Android
    75
    @qw0258 跟他们同样的需求,求帮忙
    Coande
    Coande
    OP
    Dec 15, 2016 via Android
    76
    @kai910106440 你要下载啥,可能我可以帮到你
    kai910106440
    kai910106440
    Dec 15, 2016 via Android
    77
    @Coande 名称就是我 qq 。要不你加我吧。或者我加你,细聊。新东方的在线视频,你懂我的
    Coande
    Coande
    OP
    Dec 15, 2016
    78
    @kai910106440 加不了你,邮件吧: e12e#qq.com
    kai910106440
    kai910106440
    Dec 15, 2016 via Android
    79
    @Coande e12e#qq.com 还是 [email protected] ??
    Coande
    Coande
    OP
    Dec 16, 2016 via Android
    80
    @kai910106440 后者~
    sunnyzhi
    sunnyzhi
    Jan 10, 2017
    81
    各位别价意,我在这里搭个便车。
    有个在线的音频文件想抓下来,抓包后下了一堆 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
    larvata
    Jan 10, 2017
    82
    @sunnyzhi
    下载 key 保存到本地
    修改这个 m3u8 文件中 key 的地址 改成本地路径
    然后用我那个 gist 里的方法执行 ffmpeg
    sunnyzhi
    sunnyzhi
    Jan 10, 2017
    83
    我把 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
    liujixianff8
    Feb 22, 2017
    84
    @sunnyzhi 您好!您的问题解决了吗?我也遇到了同样的问题。请您赐教。我看了一篇文章,但是毫无结果。该文是在 http://blog.csdn.net/blueboyhi/article/details/40107683
    sunnyzhi
    sunnyzhi
    Feb 23, 2017
    85
    @liujixianff8
    我是按这个方法( http://dola.xinfan.org/?p=549 )操作的,可行。
    1.按 m3u8 的内容下载好 key 和 ts 文件,
    2.使用 hexdump 工具 dump 出 key ,使用 openssl 进行解密,然后再使用 ffmpeg 进行文件合并.
    怕麻烦用 python 写个脚本就好了。

    但又遇到新问题,有的 m3u8 里没有 key 文件,可能这个 key 内置在客户端里了,不知怎么破,有高手指引下吗?
    liujixianff8
    liujixianff8
    Feb 23, 2017
    86
    @sunnyzhi 您好,您和我的问题类似于 yylu123 的问题。我下载了 yylu123 的百度网盘中的文件,总大小为 25.1MB ,共 68 个文件,含扩展名为 ts 的文件 66 个、 index.m3u8 和 vodkey.bin ,我进行了不少的尝试,都没有播放成功。在咱们这个交流组中,有个叫 qw0258 的高手,头像是个老头儿,教授样子,很严肃。 qw0258 发出了一幅图,图中有新东方在线的字样,我的判断是, qw0258 把 yylu123 的问题解决了。 qw0258 这个老头技术高,底蕴深。由于我是一个菜鸟,水平极低,高深的 qw0258 理我吗?
    liujixianff8
    liujixianff8
    Feb 23, 2017
    87
    @sunnyzhi 您好,将多个 ts 文件快速合成一个 ts 文件的方法,详见 http://jingyan.baidu.com/article/ed15cb1b5c4c781be3698116.html ,我试过,很好用。
    liujixianff8
    liujixianff8
    Feb 23, 2017
    88
    @sunnyzhi 您好,我下载了 Coande 的百度网盘中的文件,并与 yylu123 的文件进行了对比,两者的 ts 格式文件相同,不同的是前者中有 index.m3u8 、 vodkey.bin ,后者中有 video.m3u8 、 key.hxk ,交流组的 qw0258 解决了 Coande 的问题,我想 qw0258 也能解决 yylu123 的问题。佩服 qw0258 。
    Coande
    Coande
    OP
    Feb 23, 2017
    89
    @liujixianff8 解决我的问题了?哪个讨论组?
    liujixianff8
    liujixianff8
    Feb 24, 2017
    90
    @Coande 您好!在本讨论组中,往上看,有个叫 qw0258 的高手给了您回复, qw0258 贴出了一幅图,图中有新东方在线的字样。另外,您的头像很有创意。
    Coande
    Coande
    OP
    Feb 25, 2017
    91
    @liujixianff8 噢~这就是你说的讨论组~谢谢赞赏~
    liujixianff8
    liujixianff8
    Mar 4, 2017
    92
    @sunnyzhi 您好!我是一名高中学生,没有一点的编程基础。按照您给我介绍的办法,我还是一无所获。经网上查, hexdump 是一个查看二进制数的工具,可怜的我不会用; openssl 中都是代码,我也看不懂, ffmpeg 是用来处理多种媒体的,我也没接触过。您能不能教教我,若您没有时间,能不能把您说的方法说得细致些。帮助与否,真诚谢您。
    qw0258
    qw0258
    Mar 8, 2017❤️1
    93
    @liujixianff8 熟能生巧,深入研究,就会发现 AES128 很容易。现在大部分网站,依旧是原生 hls ,难度都不是高。最近很多人联系我,什么 csdn , 51cto , edusoho 等 hls 解密合并,都没有对 hls 创新,没难度。反倒是某些视频云平台开始在原生基础上衍生出新玩意,比如我现在自己采用的 polyv 点播, app 端加密已经服务器加密校验了 key , key 已经不是 16 位了,难度挺大,最近正在突破,希望能搞定,提升自己的技能。
    huaderui
    huaderui
    Mar 11, 2017
    94
    @sunnyzhi 你说的这些工具怎么用啊?这是 py 代码吗?有没有软件啊,还有在 linux 下怎么操作啊
    huaderui
    huaderui
    Mar 11, 2017
    95
    @YanwenSun 工具能不能发给我啊
    huaderui
    huaderui
    Mar 11, 2017
    96
    @qw0258 求批量解密 ts 的方法。有软件最好了。
    Coande
    Coande
    OP
    Mar 12, 2017
    97
    @qw0258 大神,能不能看下邮箱给我回个邮件呢?
    qw0258
    qw0258
    Mar 14, 2017
    98
    @huaderui TS 合并工具网上资源很多,自己找找就行
    huaderui
    huaderui
    Mar 14, 2017
    99
    @qw0258 合并不是问题,问题是批量解密 ts
    eeyykk
    eeyykk
    Mar 28, 2017
    100
    @qw0258 我自己搞了一阵,现在有 m3u8 文件和 key 文件,还有一堆.ts 文件,请问大神能帮我解答一下接下来该怎么解密吗?加密方法在 m3u8 文件里面写了,是 aes-128
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2895 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 00:47 · PVG 08:47 · LAX 16:47 · JFK 19:47
    ♥ Do have faith in what you're doing.