Пришло достаточно количество писем, чтобы можно было сделать уже какой-никакой
обзорчик по технологии расшаривания видео(аудио) потока в сеть. Не стоит
забывать, что положить в интранетной сетке mpeg фильм в http доступе -
это совсем не то, даже учитывая, что он будет играться для каждого юзера
разным потоком. Необходим единый поток, чтобы не загрузить сетку ненужными
соединениями, которые по сути будут передавать одни и те же данные. Это
организовывается на уровне протоколов, конкретно - Multicast пакетами, которые будут передаваться сразу всем
узлам (ну, а обрабатывать их или нет - это их задача). Короче говоря,
сервис передачи постоянных потоков должен поддерживать такую особенность.
RealServer и WindowsMedia Server это делают. WindowsMedia Encoder7 этого
не делает. Т.е. по http забирай поток, а другое соединение - другой поток.
Для одной-двух тачек в сети пойдет. Ну, может для большего количества,
в зависимости от загрузки. Но это не решение, конечно. Хотя, WME7 можно
поставить работать в паре с WindowsMediaServer. Который необходимо ставить
на NT или Win2000. Насколько я понял, необходимы две тачки - одна будет
заниматься кодированием - тут можно применить WME или что-нибудь еще,
что может отдавать поток по сетке. Поток будет отдаваться серверу, который
уже в свою очередь будет раздавать его пользователям. Тачка для кодирования
должна быть неслабая, чтобы в real-time успевать паковать хороший звук
и более-менее качественное видео.
Кстати, об альтернативной платформе. Под Linux есть решения видеомонтажа
и кодирования - сайт с непонятным именем домена Heroinewarrior (может это по-модному: Hero in e-Warrior?).
Там же - проигрыватель MPEG1,MPEG2, AC3, DVD и QuickTime для Linux (XWindow,
надо думать) и прочие прилады. Правда, я не видел там ничего для кастинга,
но наверное, надо поискать на sourceforge.net.
Ладно, это все для Linux, а вот что можно сделать так вот, сейчас, просто
и быстро? Есть несколько ссылок и примеров.
Вот уже год как работает связка:
- AverMedia - Realproducer под Linux
- RealServer под FreeBSD (принимает поток RealAudio G2 от RealProducer"a
и отдает его в 100TX Ethernet)
- клиенты под win, *nix
скорость где-то 18-20fps
(Yuri Yahontov)
Решение RealProducer + юниксовый сервер - это очень хороший вариант.
Лично я его и попробую, сколько бы мне не претил RealVideo. Тем более,
что все это можно скачать достаточно легко, пошарив на filesearch.ru (вот realserver под FreeBSD я там скачивал).
RealProducer вполне подойдет и 7-й версии. У меня он есть, лежит у на
FTP (здесь или здесь и еще - зеркала есть). Ну, или
поискать по сети - наверняка, можно найти.
Что делать дальше - вроде понятно.Единственная тонкость с Real-софтом
- там достаточно запутано разбираться с адресами куда чего и кому отдавать
по сетке - на это несколько читателей обращали внимание. Ну и, сам сервер
Real есть конечно и под Windows платформу, причем все может стоять на
одной тачке - сервер и кодер. RealServer производителями раздается бесплатно
(на 25 юзеров).
Так. Еще письмо.
From:Sergey Starosek
Subj:сервис потокового видео |
Решая сходные задачи, перепробовали несколько вариантов:
Windows Media Encoder:
http://www.microsoft.com/windows/windowsmedia/en/WM7/encoder.asp
- Умеет грабить видео/аудио и лить все это дело либо в wmv/wma либо
запихивать в сетку (но только HTTP streaming, от multicast"a микрософт
почему-то отказался :(
Есть еще Windows Media Services, но ставится только на Enterprise
Edition.
Netmeeting
- Не решение, но каких-то результатов добиться можно
JMF (Java Media Framework)
http://java.sun.com/products/java-media/jmf/index.html
- Хоть и Ява, но умеет делать захват или брать в качестве source
файл и отдавать его в сеть multicast"ом/unicast"ом по протоколу
RTP (его понимает QuickTime Player или сам же JMStudio)
Mbone tools:
http://www-nrg.ee.lbl.gov/
http://www.softlab-nsk.com/Pro/Mbone.html
- Тулзы для вещения/приема streamed video/audio. Command line :)
Есть правда frontend"ы написанные на tcl. В принципе рабочее решение,
но не для рядового пользователя.
Рекомендую также посмотреть на streaming сервера от Apple (в opensource
у них Darwin Streaming server) и от Entera (Terracast server).
http://www.apple.com/quicktime/products/qtss/
http://streaming.entera.com/
- первый (во идее и второй тоже) умеет лить с помощью RTP/RTSP .qt
файлы, и, главное, умеют делать reflection. Т.е. в случае отсутствия
multicast, оригинальный поток отдается на сервер unicast"ом, а сервер
дальше раздает копии этого потока остальным subscriber"ам
|
Ссылки есть, все понятно. Решения пока не видно, но этот опыт подскажет,
куда суваться не стоит, а где надо и покопать.
Дальше письма разделяются поровну - real и WindowsMedia.
From:Cyrill Malevanov
Subj:RealVideo |
Расскажу о своем опыте общения с RealMedia. Поступила задача проверить,
сможем ли мы организовать вещание, если таковое потребуется. Дальше
все просто.
- идем на filesearch.ru и ищем там RealServer и RealProducer. Удалось
найти версии 7 и G2.
- Ставим RealServer (я ставил на w2k server, хотя есть и RealServer
5/FreeBSD, не говоря уже о линухах).
- Ставим на машине RealProducer. У меня под w2k драйверов под TV-тюнер
не оказалось, пришлось делать аудио-трансляцию с компакта.
- Далее делаем все по инструкции (инструкция есть в доке RealServer"а)
- Запускаем RealPlayer и тащимся. Иногда приходится помучиться с
правильным урлом к реал-ресурсу. Статические файлы - без проблем,
а вот на живой трансляции - поподбирать имена каталогов. /media,
/live, /media/live и т.п. Это я, видимо, доку не дочитал =)
Еще вот полезная ссылочка:
http://gonzo.millsaps.edu/docs/real/
Тут шаг за шагом прописано, как организовать трансляцию. Автор,
кстати, на мыло отвечает весьма подробно и быстро.
Из опыта: 3 клиента на 64-128 kbit audio нагружают P-III-500 на
10%, RealProducer на p-3-700 при заливке аудио на сервер практически
не заметен (процента 4 от силы).
Видео - тут, наверное, попотеть всем придется. Кстати, рекомендую
ставить фиксированный поток, потому что подстройка под канал будет
жрать на сервере ресурсы на перекодирование.
Видеозахват возможен на любой карте, имеющей драйвера Video capture
по майкрософтовскому стандарту.
Кирилл Малеванов |
Сразу же добавлю про захват с TV карты. Некторые карты просто сами отключают
свой звук, который передают на вход звуковой карточки и включить его -
еще та задача. Т.е. видео есть, а звука не будет, пока не дать команду
на карту (не для всех карт).
Я поглядел ссылочку на ресурс "шаг-за-шагом" по трансляции Realvideo.
В противовес описанию RealVideo сервера, есть сылка на русскоязычный ресурс
- там описано (очень подробно) как организовать то же самое, плюс с помощью
Windows Media Server (и иже с ним - его енкодера). Вот здесь.
Ну, я боюсь всего не смог описать, что можно было, но хоть что-то обобщил.
Там еще письма есть, я их в следующем выпуске дам. Много очень. Но это
хорошо, конечно! :)
bye.
ссылки прислылали: MaxP, A.Velder, K.Osovsky
|