ffmpeg 下载加密的切片视频 m3u8

正常情况下载视频:

ffmpeg -i <m3u8-path> -c copy OUTPUT.mp4
ffmpeg -i <m3u8-path> -vcodec copy -acodec copy OUTPUT.mp4
ffmpeg -i https://test.com/playlist.m3u8 -c copy OUTPUT.mp4


下载加密的 m3u8:


1. playlist.m3u8的文件

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:5
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="hls/key.m3u8"
#EXTINF:3,
hls/p7oAIQXg.ts
#EXTINF:3,
hls/0nfR0Plc.ts
#EXTINF:3,
hls/9u4FoSx6.ts
#EXTINF:3.84,
hls/nIcjOfWB.ts
#EXTINF:4.76,
hls/5elj0W8T.ts
#EXT-X-ENDLIST


2.解密

创建一个文件夹 test,把key 那那个数字保存为一个 “key.m3u8” 文件,上面的 playlist.m3u8,修改内容如下后,也放入test目录:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:5
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="key.m3u8"
#EXTINF:3,
https://test.com/hls/p7oAIQXg.ts
#EXTINF:3,
https://test.com/hls/0nfR0Plc.ts
#EXTINF:3,
https://test.com/hls/9u4FoSx6.ts
#EXTINF:3.84,
https://test.com/hls/nIcjOfWB.ts
#EXTINF:4.76,
https://test.com/hls/5elj0W8T.ts
#EXT-X-ENDLIST


3.ffmpeg解密并合并,在 test目录执行下列命令

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

如果视频切片文件下载到本地的话,可以使用下列命令:

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


修改时间 2021-04-21

真诚赞赏,手留余香
赞赏
开发工具
Git 对库文件权限的管理 git config core.filemode
2021-04-15
操作系统
CentOS 7 SSH 使用证书登录
2021-04-25
ngtwewy
随机推荐
CSS3 实现 Switch 开关
如何创建一个NPM Package
Debian11 安装笔记4:安装常用软件
Node.js 如何使用 ES6 的模块功能
curl 的用法指南
Node.js 的 JSON Web Token 模块
Koa.js 限流中间件 koa-ratelimit
Naxsi 的 MainRule
实现图片懒加载的两种方法
MySQL 处理高并发,防止库存超卖(乐观锁和悲观锁)

微信联系我

夜间模式切换
回到顶部