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

声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。
随机推荐
JavaScript 数据类型和变量
WordPress 添加自定义接口
Git 放弃本地修改,强制和之前的某次提交同步
JavaScript history对象
WordPress 添加文章自定义字段
JavaScript video 教程
JavaScript 工作者线程
JavaScript 私有方法和私有属性