Я пытаюсь загрузить и преобразовать поток m3u8 в mp4 с помощью ffmpeg.Команда, которую я сначала попробовал, была
ffmpeg -i MIE.m3u8 -c copy -bsf:a aac_adtstoasc -safe 0 -protocol_whitelist file,http,https,tcp,tls,crypto MIE.mp4
(содержание MIE.m3u8
) см. Ниже
Эта ошибка сразу же завершилась ошибкой
[https @ 0x7fb419607d40] Protocol 'https' not on whitelist 'file,crypto'!
MIE.m3u8: Invalid argument
(Обратите внимание, что адрес памяти меняется каждый раз.)
Я обнаружил флаг -protocol_whitelist
и добавил -protocol_whitelist file,http,https,tcp,tls,crypto
к моей команде
ffmpeg -i MIE.m3u8 -c copy -bsf:a aac_adtstoasc -safe 0 -protocol_whitelist file,http,https,tcp,tls,crypto MIE.mp4
, но это все равно привело к той же ошибке.
Почему ffmpeg
игнорирует флаг и параметры protocol_whitelist
?
MIE.m3u8
(которые мне удалось получить с веб-сайта Я пытаюсь соскрести видео с) выглядит так:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=508000,RESOLUTION=640x360,CODECS="avc1.77.30, mp4a.40.2"
https://nhk-vh.akamaihd.net/i/das/D0005140/D0005140255_00000_V_000.f4v/index_0_av.m3u8?null=0&id=AgBdrl8GX2UAVyUXA1tF7MYlFTbSF88WtA7oAMDksTsiVdAKPuuREVfi8iXMsOWFp6eQU2sk6dnE9g%3d%3d
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=47000,CODECS="mp4a.40.2"
https://nhk-vh.akamaihd.net/i/das/D0005140/D0005140255_00000_V_000.f4v/index_0_a.m3u8?null=0&id=AgBdrl8GX2UAVyUXA1tF7MYlFTbSF88WtA7oAMDksTsiVdAKPuuREVfi8iXMsOWFp6eQU2sk6dnE9g%3d%3d