
Точка
Несколько лет назад мы с другом баловались и создали суперпростую ссылку на видеочат, дважды запустив VLC на обоих компьютерах: один «смотрел» локальную веб-камеру и клонировал видеоданные в поток RTMP, а другая копия настраивалась на удаленный RTMP-канал. Мы оба сделали удаленное окно больше локального и вуаля, мгновенный видеочат.
Фон
Это было потрясающе. Поскольку все это использовало TCP вместо UDP, мы не видели никаких пропусков кадров — нам просто приходилось иметь дело с задержками передачи, которые были невероятно малы, поскольку мы могли точно настроить качество исходного видео и битрейт передачи, а поскольку данные передавались по схеме точка-точка и не было задействовано никаких ретрансляторов, задержка была практически нулевой.
Как только мы доказали, что действительно можем это сделать, мы оба быстро отвлеклись на другие интересные эксперименты, поэтому не пошли дальше, но было бы просто добавить PuTTY к этой смеси с парой перенаправлений портов — и внезапно все это оказалось бы в туннеле SSL.
Однако эта система была довольно сложна в использовании: если удаленная связь прерывалась,один раз, локальная копия VLC говорила "нет" и шла капут. Оба наших соединения были великолепны, так что этого не произошло (IIRC), но это всегда было потенциальным случаем. И настройка всего заняла 30 щелчков. Я думаю, я мог бы настроить приличную автоконфигурацию через флаги командной строки, но это не исправило бы разрыв соединения.
Вопрос
Мне интересно, что тамне делаетиспользовать SIP,не делаеттребуются странные прокси,не делаетполагаться на кучу «ужасно сложных архитектур и протоколов, которые выиметьустанавливать и настраивать, потому что... традиция!", ноделаетобеспечивает легкую передачу видео и аудио через тонкий, не требующий много ресурсов уровень передачи/шифрования, который невероятно быстро настраивается.
Если бы это работало и на Android, это было бы здорово, но я в первую очередь хочу, чтобы это работало на Linux.
ПРИМЕЧАНИЕчто я сказал в заголовке «какие приемы я могу использовать» — я не ищу рекомендаций по продуктам или услугам, а общие концепции, которые я могу применить, используя выбор различных инструментов.