Обновить

Делаем P2P-кинотеатр: как мы написали десктопное приложение для совместного просмотра видео на Electron

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6.4K
Всего голосов 4: ↑4 и ↓0+6
Комментарии8

Комментарии 8

Не совсем понятно как работает P2P - у провайдеров же все обычно за NAT, без серверного тоннеля не подсоединиться друг к другу?

Или я что-то не знаю?

Спроси у роботов что такое STUN и TURN.

А какие существующие решения вы рассматривали?

Интересно посмотреть на такие трансляции с точки зрения законности...

Мне понравилось. Идея, реализация, дизайн. Вы молодец 👍

А что на счёт качества картинки?

Если мой друг будет смотреть мою трансляцию на огромном телевизоре, то не увидит ли он кубики размером с кулак?

На маленьких экранах - ОК

Конечно для качества связи пришлось пожертвовать крутым изображением.. узкие места: интернет связь и нагрузка на средне-статистическое железо бюджетного ноутбука, транслирующего экран.

Пока так: Трансляция экрана захватывается в 960×540 (максимум), камера — 640×480. Битрейт регулируется пресетом качества (ползунок в настройках). Аудио фиксировано 32 kbps. ScaleResolutionDownBy = 1 на всех пресетах (не уменьшаем).

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

Изначально когда в локальной сети тестировал: там и на фул эйч ди летало конечно... но задача: связь по некачественному интернету)

Тоже была необходимость в одновременном просомотре фильмов онлайн с параллельным звонком. Решил в итоге немного по другому - фильм скачивается заранее каждому на комп, все его открывают у себя в полноэкранном режиме и затем через приложение для синхронного управления мышью (mirror mouse как то так называлось) у всех одновременно нажимается плей.

Скачивание фильма заранее было немного неудобно, но позволяло исключить влияние ширины канала у разных клиентов (как бонус - отличное качество). С онлайн просмотром работало аналогично (плеер открывали на весь экран и синхронно жмется плей), но тут уже были проблемы если провайдер у кого то не тянул по скорости, при небольшой задержки для загрузки клиент получал рассинхрон.

кстати тоже интересный вариант! Прикольно... мне он в голову не пришел)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации