ffmpeg合并M3U8加密的视频 ts 合并为 mp4

文章引用于 ffmpeg 合并 m3u8 ts key 文件 解决 Invalid data found when 错误

如果文件没加密,可以直接用 ffmpeg -i xxx.m3u8 -vcodec copy -acodec copy xxx.mp4

之前也写过一篇文章,使用ffmpeg下载 M3U8 资源的视频。今天接着来拓展一下这个下载视频

寻找资源

要想下载 M3U8 的资源,最起码得找到下载的链接,可能这个非常好找了,找到控制台的 NetWork 查看请求就行了。
可是这有一点非常不好的就是,使用 ffmpeg 去下载,只能一个个资源去请求,并且非常慢,经常还有可能请求失败(资源是可以访问到的,可是 ffmpeg 就卡住了)

解决方案:chrome 插件 猫抓
当他嗅探到资源后,就会都列出来

在这里插入图片描述

而我通常用 IDM 把列出的资源一下子都下载下来

资源合并为 mp4

留意上面的图,这段 m3u8 是一个 key 的文件,就是加密的文件。还好 ffmpeg 可以自动识别 key 文件并且解密文件,可是这一步有点曲折

我们先把 m3u8 的源文件下载下来,把 ts 文件都下载好,放在同一个文件夹
在这里插入图片描述

然后打开 m3u8 文件,找到 key.key 的配置,改为线上的 key,而不是读取本地的 key 。虽然我到现在也没搞懂这是为什么~

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="https://xxxx/key.key" # 注意URI这里,改成线上的key的域名链接
#EXTINF:3.336667,
#EXTINF:1.668333,
clvHz13123499.ts
#EXTINF:2.035367,
clvHz13123500.ts
#EXT-X-ENDLIST

解密文件,合并 ts 为 mp4

使用命令

ffmpeg -allowed_extensions ALL -protocol_whitelist "file,http,crypto,tcp" -i index.m3u8 -c copy out.mp4

运行后可能会发现报错:

看到这个错误其实只需要在 protocol_whitelist 后面补上https。后面报错提示什么就补上什么,因为对应的 m3u8 需要这几种下载方式

于是命令改成如下:

ffmpeg -allowed_extensions ALL -protocol_whitelist "file,http,crypto,tcp,https" -i index.m3u8 -c copy out.mp4

如果还发现报错是:Invalid data found when 这样的,就是因为你的 key 没有改成线上域名的 key,改了重新试下就行了

然后发现 ffmpeg 合并的飞快,比起直接用 ffmpeg 下载快多了!

  • 6
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
m3u8加密视频下载的步骤如下: 1. 首先,需要获取到包含.m3u8文件视频网页。打开该网页后,可以使用一些工具(如“猫抓”)来加载并获取所有的.ts文件的地址。\[2\] 2. 复制所有的.ts文件链接,包括.m3u8文件的地址。 3. 打开迅雷下载工具,并新建一个下载任务。 4. 将复制的所有文件链接粘贴到迅雷的下载任务中。 5. 等待下载完成后,打开命令提示符(Win+R,然后输入cmd)。 6. 在命令提示符中,进入下载文件所在的地址。 7. 输入以下命令:ffmpeg -allowed_extensions ALL -i xxxx.m3u8 -c copy xxxx.mp4(注意:xxxx是.m3u8文件的名称,不能含有空格)。这个命令将会合并所有的.ts文件,并生成一个完整的mp4视频文件。\[3\] 8. 等待合并过程完成后,就可以在该文件夹中找到生成的完整的mp4视频文件。 请注意,下载和合并加密m3u8视频需要遵守相关法律法规,并且仅限于个人学习和研究使用。任何未经授权的下载和使用都是违法的。 #### 引用[.reference_title] - *1* *2* *3* [关于如何下载m3u8加密视频](https://blog.csdn.net/qq_44307844/article/details/120432369)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值