Вот файлы; Z05_USEng.m3u8 и Z05_JPJpn.m3u8. Я могу использовать команду ffmpeg -i x -bsf:a aac_adtstoasc -vcodec copy -c copy -crf 50 file.mp4 , где x - это URL-адрес m3u8, чтобы загрузить данные MP4 в файл. Я также могу использовать VLC для воспроизведения потока. То, что я не понимаю, как я могу сделать эти две вещи, когда все файлы содержат

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1696000
Z05_USEng/Z05_USEng.m3u8

(с заменой UsEng на JpJpn во втором файле).

2 ответа2

1

Похоже, в этом каталоге есть подпапки с файлами Z05_USEng/Z05_USEng.m3u8, попробуйте заглянуть в них, чтобы найти подсказки

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

будет достаточно, если вы не хотите перекодировать видео или аудио потоки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .