108. [p2p] Видео-связь используя web-камеру

P2P – Серия статей посвященных работе с P2P .
Посмотреть все статьи: http://flashpress.ru/blog/category/p2p/
Серия вводных статей на тему p2p:
  1. P2P Part1. Обзор технологии. Теория
  2. P2P Part2. Установка соединения. Практика
  3. P2P Part3. Видео-связь используя web-камеру

Серии статей на тему проектирования и создания p2p-приложений:

  1. Проектирования и создания текстового p2p-чата (2 урока)
  2. Проектирования и создания p2p чат-рулетки (скоро) хочу
  3. Проектирования и создания групповой p2p-рисовалки (скоро) хочу
  4. Проектирования и создания p2p-файлообменника (скоро) хочу
  5. Проектирования и создания сетевой p2p-игры без сервера (скоро) хочу

В уроке P2P Part2. Установка соединения. Практика мы создали p2p-сеть с помощью языка ActionScript, и научились передавать текстовые сообщения между флешками без использования сервера. В этом уроке мы попробуем написать простое p2p-приложение для видеосвязи. Для передачи видео между двумя флешками, необходимо пройти через определенную цепочку действий. Действия включают в себя создание экземпляров определенных классов(NetConnection, NetGroup и NetStream), а также подписка на событие NetStatusEvent.NET_STATUS. Схематически эту цепочку можно определить так:
p2p-video-1

Обратите внимание что все объекты из указанной цепочки слушают только одно событие NetStatusEvent.NET_STATUS, разница лишь в том, что во всех событиях имеются различные значения свойства event.info.code. Полный список значений для code вы можете посмотреть в документации Adobe. Как видно их схемы:

  1. Сперва мы создаем экземпляр класса netConnection:NetConnection, и слушаем событие NetStatusEvent.NET_STATUS.
  2. После наступления события с кодом NetConnection.Connect.Success мы создаем объект netGroup:NetGroup, и также подписываем его на событие NetStatusEvent.NET_STATUS
  3. После создания объекта netGroup, объект netConnection получит событие NetStatusEvent.NET_STATUS с кодом NetGroup.Connect.Success. После получения этого события, мы создаем объект streamPublisher:NetStream, который будет отправлять ваши видео-данные в сеть.
  4. После создания объекта streamPublisher, объект netConnection получит событие NetStatusEvent.NET_STATUS с кодом NetStream.Connect.Success. После получения этого события, подключаем камеру к объекту streamPublisher и начинаем публикацию видео, указав название именного потока streamName
  5. На этом первый этап завершен, и необходимо ждать пока кто то еще подключится к системе, и сделает все вышеуказанные шаги. Когда это будет сделано, и в сети появится новый именованный видео-поток, объект netGroup получит событие NetStatusEvent.NET_STATUS с кодом NetGroup.MulticastStream.PublishNotify. После получения которого мы создаем новый объект streamPlayer:NetStream, и начинаем проигрывать именованный поток streamName. Значение streamName имеется в свойстве event.info.name в событии с кодом NetGroup.MulticastStream.PublishNotify
  6. После того как объект streamPlayer получит событие NetStatusEvent.NET_STATUS с кодом NetStream.Play.Start, можно создавать визуальный объект videoView:Video, который проигрывает поток из streamPlayer

Довольно теории, приступим к написанию ActionScript кода:

Здесь должна быть флешка. Установите Flash Player

Серия вводных статей на тему p2p:
  1. P2P Part1. Обзор технологии. Теория
  2. P2P Part2. Установка соединения. Практика
  3. P2P Part3. Видео-связь используя web-камеру

Серии статей на тему проектирования и создания p2p-приложений:

  1. Проектирования и создания текстового p2p-чата (2 урока)
  2. Проектирования и создания p2p чат-рулетки (скоро) хочу
  3. Проектирования и создания групповой p2p-рисовалки (скоро) хочу
  4. Проектирования и создания p2p-файлообменника (скоро) хочу
  5. Проектирования и создания сетевой p2p-игры без сервера (скоро) хочу
P2P – Серия статей посвященных работе с P2P .
Посмотреть все статьи: http://flashpress.ru/blog/category/p2p/

Да прeбудет с вами Flash.
Serious Sam
Эту статью прочитали 3455 раз

Возникли вопросы по статье? Не стесняйтесь спрашивать в комментариях или любым другим способом на странице Контакты .

Присоединяйтесь к нам в социальных сетях: ВКонтакте , Twitter и Facebook
Понравилась статья? Буду благодарен если вы поделитесь ссылкой с друзьями:


Комментарии ВКонтакте:




Комментарии Facebook:




Комментарии WordPress:


  1. Артем

    Когда же выйдет статья Проектирования и создания p2p чат-рулетки, очень жду!!!!!

  2. Артем

    Подскажите, где можно скачать p2p игры, хочу вставить их в свой сайт. Скажите можно ли это сделать.

  3. Автор

    А можно ли с помощью rtmp транслировать не камеру а видеофайл? А еще лучше по очереди, нажал кнопку пошла камера, нажал другую пошел файл, без звука.