При обработке плейлиста HLS/Dash(где query-param используется для аутентификации)- ffmpeg не добавляет эти строки запроса в запросы фрагментов данных, что приводит к ошибке 403 denied от сервера.
Пример:
ffmpeg -i "http://example.com/playlist.m3u8?auth=foo" out.mp4
Запрос фрагмента выглядит так: http://example.com/chunk1.ts
- вместоhttp://example.com/chunk1.ts?auth=foo
Есть ли возможность обойти это или это не поддерживается или это ошибка?
решение1
HLS работает следующим образом: параметры строки запроса (если таковые имеются) используются для запроса списка фрагментов M3U8, который в свою очередь содержит URL-адреса фрагментов. Если эти URL-адреса из списка фрагментов (т.е.что вы не имеете никакого контроля над) не содержат параметров запроса, то для их запроса не будет использоваться ни один из них.
Эту проблему можно обойти, проксируя M3U8 через контролируемую вами веб-службу, которая добавляет параметры запроса в список фрагментов.