Chatroulette своими руками — 50 строк кода

    image
    Пару месяцев назад я приглашал всех на веб-семинар о p2p во Flash, но сделал это слишком поздно, поэтому наверняка большое количество желающих на него не попало. Самое ценное, что я извлек из этого семинара — то, что peer-to-peer приложения во Flash делать очень легко. Правда у самого руки очень долго до этого не доходили.

    Но буквально вчера руки очень сильно зачесались, и посидев ночку я разобрался в том, как работает технология p2p во Flash. Соединить видеопотоки двух flash-клиентов мне показалось мало, поэтому решил сделать что-то более интересное:
    1. Пользователь открывает страничку
    2. Выбирает тему для разговора (один из постов на главной хабры)
    3. Разговаривает со всеми, кто выбрал эту же тему

    Сделал. Тут мой пример видеоконференции, исходники клиента и сервера можно скачать отсюда. Минимальные требования для примера — наличие Flash Player 10 и вэб-камеры.

    UPD: Все это добро хостится на AppEngine, могут закончиться бесплатные квоты и все перестанет работать. Перекинул клиента на narod.ru. Если работать не будет — заходите сюда

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 59

      0
      Давно уже витает мысль — музыкальный p2p — плеер на flash/flex. Реализуйте кто-нибудь =)
        0
        Для таких вещей есть multicast — очень мощная штука, один флеш плеер вещает, другие друг другу передают. Почитать можно тут: www.flashrealtime.com/
          –1
          А насколько хорошо мультикаст работает в интернете? Хорошо дружит с натами?
            +1
            Если говорить об этом multicast, то в интернете не работает.
          0
          Чем-то напстер напомнило…
            0
            YouTube стоит присмотреться к технологии, активировать object replication на популярных видео и получить заметное снижение нагрузки на сервера, короче много можно сэкономить)

            пример, кстати — www.flashrealtime.com/video-on-demand-over-p2p-in-flash-player-101-with-object-replication/
            0
            Или аналог сопкаста, не ограниченный одной платформой.
            А так можно будет в любом браузере, поддерживающем флеш, открывать.

            Скажите, а флеш-приложение под мак и линукс можно сделать? По аналогии с .exe под винду?
              0
              Да не вопрос. Adobe AIR
                0
                А в air еще круче — там можно вообще работать без сервера :)
              0
              Жаль, что без камеры не пускает :(
                0
                Без какмеры теряется весь смысл видео-конфереций :)
                  0
                  зато с тв-тюнером пускает :)
                    0
                    Это очень хорошо. Только он у меня внешний — включается между компом и моником :)
                  0
                  У вас оптический обман получился, когда изображение скролишь, кажется, что квадратики двигаются.
                    +3
                    Зря хоронят хабр, хабр снова торт!
                      +4
                      Торт был бы, если бы автор подробно расписал как работает р2р во флеше, и свои изыскания. А так не торт, а только кексик :)
                      0
                      где-то по хабру пробегали онлайн сервисы видеоконференций на флеше, линком не кините?
                        +2
                        Новые возможности FP 10.1 не задействованы (RTMFP Groups), а ведь они дают возможность соединять p2p гораздо больше людей, чем без их использования.
                          –2
                          Пытался — плеер ругается, говорит «нативные функции нельзя». Под air все работает. Но так лучше, чем на эйре, т.к. не каждый будет ставить себе эйр-приложение.
                            +3
                            Плохо пытались значит, все отлично работает.
                          +2
                          Я вообще разочаровался в этих чатрулетах, все засрут.

                          Было такое дело, ехал с ноутом (на пассажирском) там йота, подъезжаем к кремлю, думаю: «ого, наверное будет интересно, век высоких технологий, кто нить за десятки тысяч километров посмотрит на live вокруг кремля.», х*й там, в самом прямом смысле, пока проезжали мимо кремля, а потом мимо храма Христа — я только и занимался тем, что переключал на следующего, потому-что всем нужно было потыкать гениталиями в камеру.
                            +8
                            Надеюсь, в моем чате никто тыкать хуем не будет
                              0
                              Был бы чат…

                              Вообще, надеюсь что какой-нить гигант с достаточными ресурсами для цензуры все таки сделает подобный сервис… youtube например.
                                0
                                Сейчас прикручу :)
                                  0
                                  Прикрутил, под своим видео строка статуса — пишите сообщение, нажимаете Enter :)
                            +1
                            А можно ли на базе p2p flash сделать внутрибраузерный торрент-клиент?
                              0
                              Да
                                0
                                Ну, кто-то обязательно его сделает.
                                  0
                                  Флеш из под браузера, может сохранять и читать файлы?
                                    0
                                    Точно :)
                                      0
                                      в shared object может. По умолчанию стоит лимит в 100кб, что мало, но можно програмно показать пользователю запрос на увеличение места, вплоть до unlimited.

                                      Так что все можно.
                                        0
                                        может с помощью диалоговых окон, в принципе этого достаточно, файлик скачался в память или в SharedObject, а дальше только сохранить нажимаем и готово.
                                    0
                                    Я прав, что для работы обязательно требуется чтобы на стороне одного из пользователей был белый IP с открытыми наружу портами?
                                      0
                                      Файервол должен пропускать UDP-пакеты. Этого достаточно.
                                      –4
                                      Добрый день. Вы дали очередное доказательство Хабрателепатии :)
                                      Наш Центр дополнительного образования сейчас занялся по Президентскому гранту дистанционным образованием детей инвалидов. Деньги уже попилены мимо нас, и приходится делать все на энтузиазме.
                                      Пока планируем конференции через скайп-подобные программы, но через сайт ИМХО круче. За поддержание сайта отвечаю я, так что — надеюсь на Вашу помощь.
                                        +2
                                        Не понимаю. Если деньги попилены кем-то, то пусть они и делают. Не? :) Какой смысл?
                                          +2
                                          Может, кому-нибудь о распиле напишете кроме Хабра?
                                          А то вы сделаете на энтузиазме… как сможете, а потом на Хабре появится статья в духе «На образование детей-инвалидов выделили NN млн. руб., а опять получился ужас».
                                            0
                                            Надеюсь будет не ужас. Что уже сделано выложу на Хабр.
                                            И знаете еще что… Главное сейчас запустить процесс, а дальше посмотрим, кто, кому и сколько должен.
                                            +1
                                            Телефон прокуратры ищите в справочнике.
                                              +1
                                              Здесь халявы нет. А вы, если знаете, что деньги украдены — соучастник преступления.
                                                0
                                                Н-да… Плохо вы представляете систему.
                                                Деньги не «украдены», а «освоены», по другим статьям. Когда «осваивать» стало нечего, скинули нам.
                                                Нам пришло оборудование, быстрый интернет, будут курсы повышения квалификации, но живых денег в бюджете уже нет. Они уже ушли на предыдущие работы. Т.е. прямого преступления нет.
                                                Наш инженер сам тянул провода по зданию, я сам выложил на готовом движке «сайт».
                                                  0
                                                  Я прекрасно знаю, как работает эта система — и это больше всего бесит.
                                                  Вот говорят: русские ленивые, бухаю и из-за того все проблемы. А на самом деле проблемы все из-за таких вот дурков-начальников, которые не могут бюджет расчитать или просто слишком много воруют.
                                                    0
                                                    А что тогда говорите… Я по максимуму честно стараюсь сделать свое дело. В общем то на общественных началах (по крайней мере пока. Пол-ставки методиста в дист. обр. висит как морковка перед осликом — и не дают и не отказывают). И Степень свой IT-некомпетентности я понимаю. Другие, кстати, нет. Диалог с нашим IT инженером.
                                                    В комплекте есть сервер.
                                                    И. — В перспективе надо организовывать обучение через сервер, а не через сайт.
                                                    Я. — Ты понимаешь, что значит обеспечить безопасность сервера?
                                                    И. — Я уже просил деньги на лицензионный антивирус.

                                                    А по предыдущему проекту приезжал мальчик учить нас работать с Маками, так он много нового для себя узнал.

                                                    И Бюджет ясн. дело завышен. Сметная цена компа. где то в 1,5 выше чем купить в магазине (а магазин тоже не в убыток себе торгует). Но был кризис, волотильность цен, и пр. Отбрешутся если что.

                                                    Честно — так лучше чем ничего. Мне стало интересно работать. Раньше только дети держали, а теперь действительно интересно. Столько можно сделать (не получится и хр. с ним, но стоит попытаться.).
                                                      0
                                                      Извиняюсь за нескромный вопрос, вам сколько лет? Откуда такой альтруизм?
                                                        0
                                                        38.
                                                        В образовании прагматики не задерживаются. Поэтому детей учит дивный заповедник из неудачников, альтруистов, пофигистов, пост.декретных дам и пр. социального хлама.
                                                        Есть конечно и карьеристы, но это еще более отвратное зрелище.

                                                          –1
                                                          ппц.
                                                +2
                                                На что конкретно Вы надеетесь, на еще одно чудо? Если у Вас действительно есть желание сделать что-то полезное, настройте BigBlueButton в связке с одной из систем управления обучением (насколько я знаю, в ПСПО планируется использовать Moodle). Или наймите юниксового админа, который Вам всё это настроит.
                                                  0
                                                  Спасибо за совет. Посмотрим.
                                                    0
                                                    Кстати, этот топик у меня лежит в закладках и я планировал его реализовывать. Хотя и боялся.
                                                    А тяга к велосипедам неискоренима(Каюсь). Как вижу, что новое, чешутся руки — хочу. Наверное это следствие работы над научными и техническими проектами школьников.
                                                  +2
                                                  Почему никто не вспоминает о том, что все эти игрушки на флеше не более чем игрушки, пока в нём нет эхоподавления?
                                                    0
                                                    Плюс: программа не может считаться настоящей программой, пока она не написана на хаскеле.
                                                      +2
                                                      Мне бы не хотелось, что бы моё замечание ассоциировалось с этой нелепостью.
                                                      –1
                                                      Эхоподавление можно включить в настройках флеша во вкладке аудио.
                                                        0
                                                        Нет, это не то эхоподавление, которое echo cancellation, это echo suppression. По факту оно не работает
                                                      0
                                                      В диалоговом окошке

                                                      «Нужно включить камру. Иначе никак :)»

                                                      поправьте
                                                        +1
                                                        ;llllllllll
                                                          0
                                                          Ой, извините. Это у меня тут скрипт с ума сошёл.
                                                          –1
                                                          «Неожиданно» попал в ситуацию zerut.ru/c/2348
                                                            0
                                                            А что там с задержками?
                                                            Есть ли задержка больше 25 мс?
                                                            (хочется делать репетиции онлайн)

                                                            Only users with full accounts can post comments. Log in, please.