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

声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。
真诚赞赏,手留余香
赞赏
随机推荐
WordPress 常用接口
WordPress关闭自动草稿
WordPress RESTful API 路由代码结构
WordPress 中如何在主题和插件中使用
JavaScript 代码混淆加密工具 javascript-obfuscator
JavaScript 中的数据类型自动转换为 Boolean 状态
JavaScript 原生拖放
MySQL 删除逗号分隔字段中的某一个值