Se você seguir o conteúdo do arquivo M3U8, ele listará outro arquivo M3U8, que na verdade indexa os arquivos a serem reproduzidos:
$ 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
Esses arquivos individuais do MPEG-2 TS serão baixados e concatenados com base no segundo arquivo M3U8.
Note que
ffmpeg -i <url> -bsf:a aac_adtstoasc -c copy file.mp4
será suficiente se você não quiser recodificar os streams de vídeo ou áudio.