Бюджет: 4000 UAH Термін: 1 день
Доброго дня!
Я звернув увагу на опис проблем із відеоплеєром у вашому проєкті — зокрема, на витоки пам’яті та нестабільну поведінку на iOS Safari при використанні ReactPlayer з HLS.js.
Важливо відзначити, що iOS Safari має вбудовану підтримку HLS і не підтримує MediaSource Extensions (MSE) у повному обсязі, які є критично необхідними для роботи HLS.js. Через це:
1) HLS.js не повинен використовуватись в iOS Safari — це не лише неефективно, а й може призводити до витоків памʼяті та збоїв.
2) ReactPlayer, який автоматично підключає HLS.js для HLS-стрімів, не враховує специфіку iOS Safari, що й призводить до описаних вами проблем.
Я можу запропонувати вам наступне рішення:
1) Використання кастомного відеоплеєра, який умовно визначає iOS Safari та відтворює HLS напряму через , без HLS.js.
2) Для всіх інших платформ — підключення HLS.js лише там, де це справді потрібно.
3) Коректне очищення медіа-ресурсів (pause, removeAttribute('src'), load, destroy) для уникнення витоків при перемиканні потоків.
Якщо цікаво — я можу оперативно впровадити прототип такого плеєра або переписати існуючий компонент під цю логіку. Готовий обговорити деталі проєкту, стек, і задачі.