ffmpeg合并加密的ts、m3u8文件为mp4文件的方法
微wx笑 2023-03-05【音频视频】 2 0关键字: ffmpeg ts转mp4 m3u8
有些视频网站的ts切片是加密的,在合并的时候需要指定密钥文件才可以。甚至扩展名都做了修改,导致下载工具“TS助手”下载失败。典型的 m3u8 文件可能类型下面这样:#EXTM3U#EXT-
有些视频网站的ts切片是加密的,在合并的时候需要指定密钥文件才可以。甚至扩展名都做了修改,导致下载工具“TS助手”下载失败。
典型的 m3u8 文件可能类型下面这样:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:6 #EXT-X-PLAYLIST-TYPE:VOD #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-KEY:METHOD=AES-128,URI="https://leduocdn.com/20211118/800kb/hls/key.key" #EXTINF:3.125, https://leduocdn.com/20211118/800kb/hls/Ql1HJdCX.jpg #EXTINF:4.875, https://leduocdn.com/20211118/800kb/hls/WXHbBHjU.jpg #EXTINF:3.125, https://leduocdn.com/20211118/800kb/hls/7ZVIBtMi.jpg #EXTINF:1, https://leduocdn.com/20211118/800kb/hls/sQhp9uh5.jpg #EXTINF:3.125,
因为扩展名改了 .jpg ,有些下载工具就不认了,导致下载失败。
这时可以通过 wget 来下载,通过 notepad++ 对m3u8文件进行查找替换,使用正则表达式
#EXTINF:[0-9\.]+,
把不是url的内容全部删除,这样使用 wget 才能下载下来,命令如下:
wget -i url.m3u8
全部下载完成之后,需要把文件中的url前缀全部删除,例如上面的
https://leduocdn.com/20211118/800kb/hls/
只保留文件名
然后使用以下命令,就可以把ts文件合并为一个 mp4文件了:
ffmpeg -allowed_extensions ALL -i index.m3u8 -c copy out.mp4
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/toolbox/media/2023-03-05/1745.html
下一篇:如何开启视频直播课?