我有一个包含.key文件,.m3u8文件和一堆.ts文件的文件夹。
我的.m3u8看起来像这样:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:5
#EXT-X-KEY:METHOD=AES-128,URI="mykey.key"
#EXTINF:4.004000,
000000.ts
#EXTINF:4.004011,
000001.ts
#EXTINF:4.004000,
000002.ts
#EXTINF:4.004000,
000003.ts
...
#EXT-X-ENDLIST我想要做的是解密它,并将此播放列表合并为一个.mp4文件
我在我的Windows机器上尝试了这个ffmpeg命令:
ffmpeg -i "myvid.m3u8" -codec copy output.mp4但我得到了以下错误:
[hls @ 000002780f0a8dc0] Skip ('#EXT-X-VERSION:3')
[hls @ 000002780f0a8dc0] Filename extension of 'mykey.key' is not a common multimedia extension, blocked for security reasons.
If you wish to override this adjust allowed_extensions, you can set it to 'ALL' to allow all
[hls @ 000002780f0a8dc0] Unable to open key file mykey.key
[hls @ 000002780f0a8dc0] Opening 'crypto:000000.ts' for reading
[hls @ 000002780f0a8dc0] Opening 'crypto:000001.ts' for reading
[hls @ 000002780f0a8dc0] Error when loading first segment '000000.ts'
myvid.m3u8: Invalid data found when processing input我将我的命令更改为:
ffmpeg -allowed_extensions ALL -i "myvid.m3u8" -codec copy output.mp4然后我得到了这个错误:
[hls @ 000001a079cf8f80] Skip ('#EXT-X-VERSION:3')
[hls @ 000001a079cf8f80] Opening 'mykey.key' for reading
[hls @ 000001a079cf8f80] Opening 'crypto:000000.ts' for reading
[hls @ 000001a079cf8f80] Opening 'crypto:000001.ts' for reading
[hls @ 000001a079cf8f80] Error when loading first segment '000000.ts'
myvid.m3u8: Invalid data found when processing input在这一点上,我真的不明白问题出在哪里。你知道我该怎么解决这个问题吗?
如果不能使用ffmpeg或smth,我可以使用任何其他软件
谢谢!
发布于 2020-07-19 12:18:04
从您的清单中,我可以看到您已经下载了必要的流和密钥。这里的问题是,ffmpeg无法使用您在清单中提到的密钥解密流文件'.ts‘。此问题可能是由于您的密钥文件造成的。aes密钥文件是加密的,应该仅为二进制文件。如果您的“content-type”响应头是“application/octet-stream”,则将响应作为二进制文件处理。
https://stackoverflow.com/questions/62514604
复制相似问题