AWS MediaConvert в формате CMAF HLS не работает

Я использую AWS Elemental MediaConvert для кодирования в CMAF, что, как я понимаю, позволит передавать один формат на все устройства. Однако у меня проблемы с получением потоковой передачи HLS для работы с любым плеером.

DASH работает:

https://bitmovin.com/demos/stream-test?format=dash&manifest=https%3A%2F%2Fstream-test1234.s3.amazonaws.com%2Fpreview%2F05f3e320-c5b6-11e9-97ce-35297279db3d.mpd

HLS не является:

https://bitmovin.com/demos/stream-test?format=hls&manifest=https%3A%2F%2Fstream-test1234.s3.amazonaws.com%2Fpreview%2F05f3e320-c5b6-11e9-97ce-35297279db3d.m3u8

Получение манифестных ошибок:

1210/SOURCE_HLS_STREAM_ERROR
1202/SOURCE_MANIFEST_INVALID

У меня были похожие проблемы с плеером shaka , который рекламирует поддержку CMAF:

https://codesandbox.io/s/pedantic-haze-y6qxq (откомментируйте manifestUri проверить HLS)

Похоже, ошибки также связаны с манифестом:

HLS playlist has both Master and Media/Segment tags.

Любые идеи относительно того, что не так? Я просто использовал настройки CMAF по умолчанию, предоставленные MediaConvert.

1 ответ

Я знаю, что это действительно старо, но у меня была такая же проблема, и я понял это...

Оказывается, при выполнении только HLS MediaConvert требует который добавляет модификатор имени к именам файлов и, что наиболее важно, к манифесту носителя HLS. Однако при использовании вывода CMAF это же поле существует в , но это НЕ ОБЯЗАТЕЛЬНО. Поэтому, если вы не введете модификатор имени, главному манифесту HLS и манифесту носителя HLS будет присвоено одно и то же имя. Это приводит к тому, что главный манифест HLS переопределяет манифест носителя HLS, а затем также ссылается на самого себя, поскольку им обоим было присвоено одно и то же имя.

Я сообщил об этой ошибке в службу обратной связи AWS, но кто знает, сколько времени это займет и доберутся ли до нее. Я призываю всех, у кого есть эта проблема, сделать то же самое.

Другие вопросы по тегам