- При запуске потока клиент hls.js не может синхронизироваться с видеопотоком после несколько минут, жалуясь на выход за пределы окна синхронизации и при повторной синхронизации получая пустые буферы.
- Клиент hls.js не будет синхронизироваться с потоком если я не запущу поток и клиент одновременно: если Клиент hls.js пытается использовать поток через несколько десятков секунд после его запуска, но ему снова не удается синхронизироваться с потоком. Единственный способ успешно запустить поток — это сначала удалить файл .m3u8, чтобы браузер не смог найти файл, а затем клиент прочитал файл и начал потоковую передачу. В окне F12 Chrome отображается что-то вроде: «[stream-controller]: Воспроизведение: 0,000 расположено слишком далеко от конца скользящего списка воспроизведения в реальном времени: 49,92, сбросьте currentTime до: 44,920».
Код: Выделить всё
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:5
#EXT-X-MEDIA-SEQUENCE:30
#EXTINF:5.120000,
http://10.10.1.16/watchdog30.ts
#EXTINF:4.880000,
http://10.10.1.16/watchdog31.ts
#EXTINF:5.120000,
http://10.10.1.16/watchdog32.ts
#EXTINF:4.880000,
http://10.10.1.16/watchdog33.ts
#EXTINF:5.120000,
http://10.10.1.16/watchdog34.ts
#EXTINF:4.880000,
http://10.10.1.16/watchdog35.ts
#EXTINF:5.120000,
http://10.10.1.16/watchdog36.ts
#EXTINF:4.880000,
http://10.10.1.16/watchdog37.ts
#EXTINF:5.120000,
http://10.10.1.16/watchdog38.ts
#EXTINF:4.880000,
http://10.10.1.16/watchdog39.ts
Что я пропустил?
Мой полный код (FFMpeg управляется API C) можно найти здесь: https://github.com/RobMeades/watchdog/b ... g.cpp#L933. Часть захвата видео работает на Raspberry Pi 5 под управлением последней версии Raspbian.
Подробнее здесь: https://stackoverflow.com/questions/792 ... nly-stream
Мобильная версия