Стрімінговий додаток
Додаток веб та Android для передачі прямого потоку відео та аудіо з Android пристроїв на веб-сайт в локальній мережі, використовуючи сокети та WebRTC.
Веб-сайт на Next.js, TypeScript, React + shadcn-ui, та http/socket сервер, який автоматично запускається при запуску сайту.
Сайт запускається на локальному комп'ютері.
Далі додаток написаний на Flutter для платформи Android, пристрій повинен бути підключений до мережі, на якій працює сайт.
При підключенні Android до сервера, він передає необхідні налаштування камери, при виборі пристрою на сайті - Android та веб обмінюються WebRTC оферами, ice кандидатами та починається перегляд.
Додатковий функціонал на веб-сайті:
1. При натисканні на 'y' - скидає запис та/або записане відео.
2. 'u' - почати запис відео до 30 секунд. При повторному натисканні під час запису - зупиняє запис. Після зупинки головний плеєр змінюється з прямої трансляції на записане відео.
3. 'i' - попередній кадр під час перегляду записаного відео.
4. 'o' - наступний кадр під час перегляду записаного відео.
P.S. На вкладенні два різних зображення, зліва повноцінні налаштування, а праворуч повний розмір веб-сайту. З'єднано за допомогою imagemagick.
Веб-сайт на Next.js, TypeScript, React + shadcn-ui, та http/socket сервер, який автоматично запускається при запуску сайту.
Сайт запускається на локальному комп'ютері.
Далі додаток написаний на Flutter для платформи Android, пристрій повинен бути підключений до мережі, на якій працює сайт.
При підключенні Android до сервера, він передає необхідні налаштування камери, при виборі пристрою на сайті - Android та веб обмінюються WebRTC оферами, ice кандидатами та починається перегляд.
Додатковий функціонал на веб-сайті:
1. При натисканні на 'y' - скидає запис та/або записане відео.
2. 'u' - почати запис відео до 30 секунд. При повторному натисканні під час запису - зупиняє запис. Після зупинки головний плеєр змінюється з прямої трансляції на записане відео.
3. 'i' - попередній кадр під час перегляду записаного відео.
4. 'o' - наступний кадр під час перегляду записаного відео.
P.S. На вкладенні два різних зображення, зліва повноцінні налаштування, а праворуч повний розмір веб-сайту. З'єднано за допомогою imagemagick.