以下是文件;Z05_USEng.m3u8和Z05_JPJpn.m3u8。我可以使用命令ffmpeg -i x -bsf:a aac_adtstoasc -vcodec copy -c copy -crf 50 file.mp4
,其中 x 是 m3u8 的 URL,将 MP4 数据下载到文件中。我也可以使用 VLC 播放流。我不明白的是,当所有文件都包含
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1696000
Z05_USEng/Z05_USEng.m3u8
(第二个文件中的 UsEng 被 JpJpn 替换)。
答案1
如果您跟踪 M3U8 文件的内容,它会列出另一个 M3U8 文件,该文件实际上索引了要播放的文件:
$ curl https://www.nintendo.co.jp/pikpiksecret/movie/pikmin3_Zmovie_USEng/Z05_USEng/Z05_USEng.m3u8
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1696000
Z05_USEng/Z05_USEng.m3u8
$ curl https://www.nintendo.co.jp/pikpiksecret/movie/pikmin3_Zmovie_USEng/Z05_USEng/Z05_USEng/Z05_USEng.m3u8
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXTINF:10,
Z05_USEng-1.ts
#EXTINF:10,
Z05_USEng-2.ts
#EXTINF:10,
Z05_USEng-3.ts
#EXTINF:8,
Z05_USEng-4.ts
#EXT-X-ENDLIST
这些单独的 MPEG-2 TS 文件将基于第二个 M3U8 文件进行下载和连接。
注意
ffmpeg -i <url> -bsf:a aac_adtstoasc -c copy file.mp4
如果您不想重新编码视频或音频流就足够了。
答案2
看起来该目录中有子文件夹,其中包含 Z05_USEng/Z05_USEng.m3u8 文件,请尝试在其中查找线索