我有一个文件夹,其中包含.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
如果我.key
用文本编辑器打开文件,它会显示奇怪的符号,Ж‰еН:‘њ w†(„ым;§BgШ0чqо!I”q
我不知道它是否应该是这样的
目前我还不太明白问题出在哪里。有什么办法可以解决这个问题吗?
如果 ffmpeg 或 smth 无法做到这一点,我愿意使用任何其他软件
谢谢!
答案1
尝试使用这个
ffmpeg -protocol_whitelist file,tls,tcp,https,crypto -allowed_extensions ALL -i myvid.m3u8 -c copy output.mp4
如果我用文本编辑器打开我的 .key 文件,它会显示奇怪的符号,如 Ж‰еН:'њ w†(“ым;§BgШ0чqо!I”q 我不知道它是否应该是这样的
是的,它应该是那样的。