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

声明:本站所有文章和图片,如无特殊说明,均为原创发布,转载请注明出处。
随机推荐
WP_REST_Response 返回结果类
JavaScript DOM 查找元素
JavaScript requestAnimationFrame 定时刷新
JavaScript 类操作 classList
JavaScript getter和setter
AIBOT 插件
Node.js querystring 模块
Node.js net 模块