Flash приложение для организации web-трансляций на сайте по RTMP протоколу.

ActionScript 3

Наверно многие уже встречали в интернете видео-чаты, онлайн трансляции и прочее.

Они состоят из плеера, который показывает саму трансляцию пользователям и передатчика (транслятора), который позволяет подключить камеру пользователя к серверу для последующей трансляции остальным пользователям.

Вот созданием такого передатчика я и решил заняться, поэтому данная работа скорее для тех кто хочет организовать у себя на сайте видео конференции.

TarantinovWebCam2 - это готовый механизм для связи RTMP сервера и web-камеры пользователя, который можно будет применить практически к любой схеме организации видео трансляций на страницах сайта.

Переписал TarantinovFLV2 теперь вот добрался до TarantinovWebCam. Очень коротко о том почему перехожу на AS3 написал в разделе с плеером. В TarantinovWebCam2 по сути ничего нового кроме, автоматизации при отключениях, выводе сообщений об ошибках. Как и в TarantinovFLV3 добавлена возможность красить приложение в нужный цвет. Ну ещё одно нововведение, если у пользователя нет видео источника (веб камеры) для подключения но есть аудио (микрофон) транслятор будет работать в режиме передачи аудио так что если не смотреть так поговорить всё равно получится.

Пример работы вещания TarantinovWebCam2

Если Вы решили протестировать работу транслятора то вы можете передать ID указанный ниже Вашему собеседнику. Собеседник в свою очередь может также передать Вам ID на свою трансляцию, таким образом получится онлайн конференция на сайте Tarantinov.ru.


Ваш ID: g5i7e



ID трансляции:




Пример работы записи TarantinovWebCam2

Если Вы решили протестировать работу транслятора в режиме записи то вы можете передавать ссылку указанную ниже для просмотра записи на другом компьютере.
Внимание!!! Ссылка действительна в течении 20 минут, после чего запись уничтожается.


Установка транслятора:

1) Создать директорию (папку) для транслятора и закачать в неё файл транслятора (TarantinovWebCam.swf)
2) Относительно этой директории подключить в заголовок документа (страницы) TrSwfObj.js. Если Вы уже утанавливали TarantinovFLV2 то TrSwfObj.js повторно устанавливать ненужно.

Подключаем в заголовок TrSwfObj.js
<head>
     ..........
          <script type="text/javascript" src="путь к директории транслятора/TrSwfObj.js"></script>
     ..........
</head>

Устанавливаем транслятор в нужное место контента страницы
<body>
   ...........
        <script type="text/javascript">
             var swf = new swfObj("путь к директории транслятора/TarantinovWebCam2.swf",320,240,"cam");
             swf.param("quality", "high");
             swf.param("wmode","Window"); //Для Opera10-11 обязательно Window (баг)
             swf.flashVar("Server","rtmp://адрес сервера RTMP");
             swf.flashVar("Public","Имя или ID трансляции");
             swf.flashVar("H264","Y"); //Формат H.264
             swf.flashVar("Quality","80");
             swf.flashVar("MicRate","50");
             swf.add();
        </script>
   ...........
</body>

Описание TrSwfObj:

Создаём swf объект на странице
var swf = new swfObj("путь к транслятору", "ширина",  "высота", "id/name для JavaScript");
Перечисляем параметры для swf
swf.param("имя параметра", "значение");
Перечисляем переменные FlashVars
swf.flashVar("имя переменной","значение");
Выводим swf
swf.add();
Для JavaScript
swf.HTML(); // возвращает HTML код Flash элемента
Для JavaScript
swf.obj(); // возвращает элемент подобно document.getElementById("id плеера");
Описание переменных FlashVars для транслятора
Server Адрес сервера RTMP c предусмотренной возможностью соединения по web-камере
Public Имя или ID трансляции.
H264 Формат трансляции "H.264" включить - "Y" по умолчанию "N" ( поддерживается в Flash плеерах не ниже 11 версии )
Quality Начальное качество передачи видео. По умолчанию 80
MicRate Начальная установка качества передачи звука. Принимаются значения 5, 8, 11, 22, 44 ( 5,512 Hz; 8,000 Hz; 11,025 Hz; 22,050 Hz; 44,100 Hz )
MicBitRate Начальная установка битрейта передачи звука. Принимаются значения от 0 до 10
MicCodec Кодек сжатия аудио принемаются значения speex или nellymoser. По умолчанию используется NellyMoser
MicGain Начальная установка уровня чувствительности микрофона. По умолчанию 50
camWidth Ширина передоваемого видео. По умолчанию 640
camHeight Высота передоваемого видео. По умолчанию 480
buffer Буферизация, время в секундах
colorPanel Оттенок для фоновой части панели ( цвета в формате #FF0000 и.т.д. )
colorButtons Оттенок для кнопок ( цвета в формате #FF0000 и.т.д. ). Рекомендуется использовать противоположно цвету панели. Если панель темная то кнопки следует сделать светлее и наоборот.
JsConnect Вызывает указанную JavaScript функцию при включении трансляции
swf.flashVar("JsConnect","имя функции");
JsDisconnect Вызывает указанную JavaScript функцию при выключении трансляции
swf.flashVar("JsDisconnect","имя функции");
prevOn Включает режим создания динамического превью трансляции с последующей загрузкой на сервер "Y/N". Превью создаётся с помощью PHP скрипта TarantinovWebCam.php Внимание!!! Скрипт должен находиться в директории транслятора, не переименовывать скрипт!
prevDir Указывает путь от корня сайта, к директории, в которой будет хранится динамическое превью
swf.flashVar("prevDir","/images/webcam");
prevTime Задаёт интервал обновления превью в секундах от 10сек. По умолчанию 10сек. При включении трансляции через 10сек. появится первое превью, далее обновляется по указанию "prevTime". Чем меньше время обновления, тем больше нагрузка.
ServerRecord Адрес сервера RTMP c предусмотренной возможностью записи видео с web-камеры
RecordOnly Устанавливает транслятор в режим только записи "Y" или вещания и записи "N". По умолчанию "N".
RecordFileName Задаёт имя файла записи ( без раcширения ) и если позволяет сервер путь хранения.
RecordTime Устанавливает ограничение времени записи в сек.


[ 399kb ] TarantinovWebCam2 » [ Последнее обновление: 21.11.2013 ]



Комментарии