Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.12.2009, 04:17
maxlapshin вне форума Посмотреть профиль Отправить личное сообщение для maxlapshin Найти все сообщения от maxlapshin
  № 1  
Ответить с цитированием
maxlapshin
Erlyvideo

Регистрация: Aug 2008
Сообщений: 197
Отправить сообщение для maxlapshin с помощью ICQ
Cool RTMP сервер на эрланге*— erlyvideo

Добрый день. Я хочу анонсировать RTMP сервер, написанный на языке erlang*— erlyvideo. Скачать его можно с http://erlyvideo.org/

Что это за сервер?

Это видеостриминговый сервер, который умеет раздавать видео из файлов, раздавать видео из потоков, принимать видео от клиентов а так же ещё кое чего.

Что он сейчас может:
1) раздавать mp4 (h264/aac) и flv файлы, естественно с быстрой перемоткой, причём даже flv;
2) принимать видео с веб-камеры клиентов, писать на диск и раздавать другим пользователям;
3) принимать MPEG TS поток. Например, сейчас в одном городе спутниковый телеканал пережимается на лету с помощью VLC а затем erlyvideo раздает это пользователям;
4) принимать с программ захвата видеокамеры RTSP/RTP поток. Например, это Wirecast или Quicktime Broadcaster. Вы ставите в интернете erlyvideo, берете ноутбук помощнее, втыкаете в него камеру и вещаете концерт или конференцию в интернет в два клика;
5) поддерживает виртуальные хосты с переконфигурацией на лету;
6) поддерживает плагины. Например моё приложение для вконтакта: http://vkontakte.ru/app1714990 написано в виде плагина для erlyvideo, который сам ходит к базе данных, авторизует пользователей, пишет их видео на диск, раздает и даже делает такую специфическую вещь, как отправляет скриншоты в виде AMF3 объектов;
7) предоставляет push-канал типа comet-а: данные поедут на браузер сами, без запроса с клиента.

Чем же он отличается от Adobe FMS, Wowza, Red5 и прочих?
От прочих он отличается тем, что уже умеет гораздо больше прочих.
От Red5 и Wowza отличается тем, что несравненно менее прожорлив по памяти и прочим ресурсам (10 метров на старте и ещё меньше мегабайта на клиента с шарингом открытых файлов). Рестриминг MPEG TS на несколько клиентов занимает порядка 1-2% среднего CPU. Wowza и FMS платные, в отличие от Erlyvideo. Плюсов хватает.

А чего ваще за эрланг такой?
Erlang*— это очень, очень крутой язык программирования, поставляющийся вместе с очень удобный рантаймом, спроектированным для создания сетевых сервисов. Создатели этого языка*— фирма Ericsson*— хвастаются что дошли до уровня при котором в год их софт на эрланге выключен не больше 3мс. Софт на эрланге можно обновлять, не отключая клиентов, писать на нём программы действительно удобно.

Что планируется сделать:
1) приделать к erlyvideo систему контроля за перекодированием видео. Залил в него файлик и он сам его ffmpeg-ом запёк. Далеко не все готовы возиться с полусотней настроек H264-кодировщика;
2) Shared Objects. Наверное они кому-то нужны;
3) веб-админку.

С чем мне нужна помощь?
1) расскажите, как вы используете существующие RTMP серверы, что вам нравится и что не нравится в них. Возможно я придумаю решение лучше для вас.
2) у меня совершенно уродливый штатный флеш-плеер, который я не могу починить. Было бы круто, если бы мне кто-нибудь помог с ним.
3) я не писал никакой документации, потому что код очень быстро развивается и глупо писать «просто документацию о сервере». Если кто-то заинтересовался и не знает с чего начать (несмотря на файл README, лежащий в корне проекта), то говорите и я по возможности опишу или сделаю чего надо.

И вопрос: будет ли интересно, если я тут буду постить сообщения об апдейтах erlyvideo?


Последний раз редактировалось maxlapshin; 22.12.2009 в 12:56. Причина: поменял сайт проекта
Старый 20.12.2009, 14:06
pwlnw вне форума Посмотреть профиль Отправить личное сообщение для pwlnw Найти все сообщения от pwlnw
  № 2  
Ответить с цитированием
pwlnw

Регистрация: Sep 2009
Сообщений: 44
Цитата:
3) принимать MPEG TS поток. Например, сейчас в одном городе спутниковый телеканал пережимается на лету с помощью VLC а затем erlyvideo раздает это пользователям;
принимать поток от VLC каким протоколом? тут мне не понятно. сколько я не мучал VLC, так и не смог заставить его работать источником для RTMP.

Цитата:
4) принимать с программ захвата видеокамеры RTSP/RTP поток. Например, это Wirecast или Quicktime Broadcaster. Вы ставите в интернете erlyvideo, берете ноутбук помощнее, втыкаете в него камеру и вещаете концерт или конференцию в интернет в два клика;
а это очень интересно. дело в том, что даже для windows я не нашел работающего решения по захвату с ip-камеры. некоторые камеры выдают mpeg4 в RTP.

Хотелось бы удостовериться что сервер можно повесить на другой порт в дополнение к red5 и, пожалуй, на данный момент необходимости в shared objects даже нет.


Цитата:
1) расскажите, как вы используете существующие RTMP серверы, что вам нравится и что не нравится в них. Возможно я придумаю решение лучше для вас.
траслирую видео с usb-вебкамер и приличных камер подключенных в тв-тюнеру. Flash Media Live Encoder позволяет использовать только устройства из windows.
очень хотелось бы использовать ip-камеры из-за удобства установки и обслуживания.
Но тут все равно нужен будет перекодировщик с MPEG4 на h.264.
Так же c MJPEG-Камерами непонятно : может мне и не нужно такое качество и скорость обновления, я просто не пробовал.

Цитата:
2) у меня совершенно уродливый штатный флеш-плеер, который я не могу починить. Было бы круто, если бы мне кто-нибудь помог с ним.
А надо ли ? Меня устраивает flowplayer - есть и перемотка и live. одними лишь flashvars настраивается все. Вроде даже некая коллекция плагинов уже образовалась для него.
Цитата:
3) я не писал никакой документации, потому что код очень быстро развивается и глупо писать «просто документацию о сервере». Если кто-то заинтересовался и не знает с чего начать (несмотря на файл README, лежащий в корне проекта), то говорите и я по возможности опишу или сделаю чего надо.
одно лишь пошаговое howto по трансляции видео с помощью FMLE без написания и строчки кода покроет вас славой и низкочастотными поисковыми запросами.
все руководства по red5 почему-то упускают этот момент. (очевидно, считается что джавапрограммер настолько привык к ковырянию в api, что разбирается на лету. А вот не каждый же джавапрограммер)

Апдейты ... ну было бы полезно. Если сервер настолько хорош и многообещающий, то и в rss-ленту добавить не грех.


Последний раз редактировалось pwlnw; 20.12.2009 в 18:26.
Старый 21.12.2009, 13:50
maxlapshin вне форума Посмотреть профиль Отправить личное сообщение для maxlapshin Найти все сообщения от maxlapshin
  № 3  
Ответить с цитированием
maxlapshin
Erlyvideo

Регистрация: Aug 2008
Сообщений: 197
Отправить сообщение для maxlapshin с помощью ICQ
Цитата:
Сообщение от pwlnw Посмотреть сообщение
принимать поток от VLC каким протоколом? тут мне не понятно. сколько я не мучал VLC, так и не смог заставить его работать источником для RTMP.
Основной протокол в таких делах*— MPEG TS. Несмотря на то, что он создает до 30% накладных расходов по трафику, самоинкапсулированное потоковое видео чаще всего льют в нём. В таком же формате идет видео со спутника.

Erlyvideo умеет его читать и рестримить. Вот даже пример от пользователей: http://habrahabr.ru/linker/go/78614/


Цитата:
Сообщение от pwlnw Посмотреть сообщение
а это очень интересно. дело в том, что даже для windows я не нашел работающего решения по захвату с ip-камеры. некоторые камеры выдают mpeg4 в RTP.
Что бы захватить видео по RTP без RTSP, надо немного доработать, но это несложно. Раз есть код захвата RTP, то всё ок. Другая проблема в том, что просто mpeg4 возможно не проканает: ведь флеш его может и не прочитать. Ему нужен mpeg4 avc, т.е. h264, но для перекодирования всегда можно поставить VLC.


Цитата:
Сообщение от pwlnw Посмотреть сообщение
Хотелось бы удостовериться что сервер можно повесить на другой порт в дополнение к red5 и, пожалуй, на данный момент необходимости в shared objects даже нет.
ebin/erlmedia.app: настройка rtmp_port


Цитата:
Сообщение от pwlnw Посмотреть сообщение
траслирую видео с usb-вебкамер и приличных камер подключенных в тв-тюнеру. Flash Media Live Encoder позволяет использовать только устройства из windows.
очень хотелось бы использовать ip-камеры из-за удобства установки и обслуживания.
Но тут все равно нужен будет перекодировщик с MPEG4 на h.264.
Так же c MJPEG-Камерами непонятно : может мне и не нужно такое качество и скорость обновления, я просто не пробовал.
Хорошо, я понял проблему, поищу информацию про IP камеры, посмотрю, чего с ними сделать.

Цитата:
Сообщение от pwlnw Посмотреть сообщение
А надо ли ? Меня устраивает flowplayer - есть и перемотка и live. одними лишь flashvars настраивается все. Вроде даже некая коллекция плагинов уже образовалась для него.
О, посмотрю. У меня ещё есть такая фича, как запись, соответственно было бы круто взять готовый плеер для видеочата.


Цитата:
Сообщение от pwlnw Посмотреть сообщение
одно лишь пошаговое howto по трансляции видео с помощью FMLE без написания и строчки кода покроет вас славой и низкочастотными поисковыми запросами.
все руководства по red5 почему-то упускают этот момент. (очевидно, считается что джавапрограммер настолько привык к ковырянию в api, что разбирается на лету. А вот не каждый же джавапрограммер)

Апдейты ... ну было бы полезно. Если сервер настолько хорош и многообещающий, то и в rss-ленту добавить не грех.
Понял, сделаем. Я уже сделал домен erlyvideo.org, так что на нём я буду размещать всю подобную информацию.

Старый 21.12.2009, 14:18
pwlnw вне форума Посмотреть профиль Отправить личное сообщение для pwlnw Найти все сообщения от pwlnw
  № 4  
Ответить с цитированием
pwlnw

Регистрация: Sep 2009
Сообщений: 44
Совсем забыл - нужна простая авторизация источника в случае если он не может вещать круглостуточно.
Я не знаю как будет удобнее, плагин на ерланге или в сервер встроить
Авторизация должна быть настолько простая, что даже VLC бы смог вещать (да бог на следующем Google SoC напишут).
например, указываем адрес назначения rtmp://site.ru/stream1?key=49588747545
а клиенты забирают по адресу rtmp://site.ru/stream1 не видя этот ключ нигде.


Последний раз редактировалось pwlnw; 21.12.2009 в 14:23.
Старый 21.12.2009, 17:05
maxlapshin вне форума Посмотреть профиль Отправить личное сообщение для maxlapshin Найти все сообщения от maxlapshin
  № 5  
Ответить с цитированием
maxlapshin
Erlyvideo

Регистрация: Aug 2008
Сообщений: 197
Отправить сообщение для maxlapshin с помощью ICQ
Ага, авторизацию внесу в планы. Например, у меня сейчас RTSP или MPEG TS полностью открытые. Для полноценного выхода в продакшн такое, конечно, не всегда годится.

Старый 31.12.2009, 11:56
maxlapshin вне форума Посмотреть профиль Отправить личное сообщение для maxlapshin Найти все сообщения от maxlapshin
  № 6  
Ответить с цитированием
maxlapshin
Erlyvideo

Регистрация: Aug 2008
Сообщений: 197
Отправить сообщение для maxlapshin с помощью ICQ
В erlyvideo появились shared objects. Оказалась несложная штука в реализации, так что теперь они работают и сохраняются.

Как и всё остальное, разделены по виртуальным хостам.

Старый 31.12.2009, 16:16
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Я постараюсь вникнуть + очень хочется верить, что недели через 3-4 будет больше свободного времени и, мне уже и так хотелось просто для пробы сделать видео плеер на HaXe - вот, если все срастется - постараюсь сделать плеер
Успехов в наступающем!

EDIT:
А, да, из пожеланий - совсем забыл - перекодировка во Flash Embedded Video - т.е. отдавать не FLV, а SWF со встроенным видео - на данный момент ни один из вышеперечисленных серверов это не умеет, и хотя это технически не должно быть очень сложно - без этого ну просто очень иногда напряжно... Кроме того, трансляция SWF (вместо FLV) позволяет сразу добавлять кучу функционала - в смысле интерактивности и т.п.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 31.12.2009 в 16:22.
Старый 31.12.2009, 16:19
maxlapshin вне форума Посмотреть профиль Отправить личное сообщение для maxlapshin Найти все сообщения от maxlapshin
  № 8  
Ответить с цитированием
maxlapshin
Erlyvideo

Регистрация: Aug 2008
Сообщений: 197
Отправить сообщение для maxlapshin с помощью ICQ
А HaXe разве не серверная технология?

Старый 31.12.2009, 22:52
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
HaXe - это язык, который в том числе может компилироваться в Neko и PHP, но все-таки по большей части его используют для SWF.
__________________
Hell is the possibility of sanity

Старый 06.01.2010, 12:15
maxlapshin вне форума Посмотреть профиль Отправить личное сообщение для maxlapshin Найти все сообщения от maxlapshin
  № 10  
Ответить с цитированием
maxlapshin
Erlyvideo

Регистрация: Aug 2008
Сообщений: 197
Отправить сообщение для maxlapshin с помощью ICQ
Хорошо. Если какая-то помощь потребуется*— я на связи.

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
erlang , erlyvideo , rtmp , video
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:50.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.