* [room] video streaming many-to-many
@ 2010-03-10 20:03 Mykola S. Grechukh
2010-03-11 6:31 ` Vladimir A. Svyatoshenko
0 siblings, 1 reply; 2+ messages in thread
From: Mykola S. Grechukh @ 2010-03-10 20:03 UTC (permalink / raw)
To: Культурный
офтопик
Здравствуйте,
Я потратил целый день на ковыряние в этих ваших
flux/feng/vlc/ffmpeg/ffsever, и кажется зашёл в тупик. Может
кто-нибудь расскажет, как можно сделать или хотя бы как вообще
взаимодействуют технологии.
Идея в том, чтобы поставить видео-концентратор, на который много
разных людей будут стримить свои камеры. И можно было подключиться к
любому из потоков. Это должно быть не peer2peer, т.е. подключаться
надо не к клиентам/камерам на их айпишки, а как-то более
централизованно.
Как я себе это примерно представляю и получилось с ffserver на
centos5. На сервере описываются входные потоки vasya.ffm, petya.ffm,
vanya.ffm и соответствующие им flv стримы. Сервер слушает и отдаёт
http, НЕ лезет сам к клиентам.
ffmpeg как источник отправляет по http, примерно так:
ffmpeg -i /dev/video0 http://videoserver/vasya.ffm (или, скажем,
ffmpeg -i /mnt/cdrom/movies/Walle.2008.D.DVDRip.avi
http://videoserver/vasya.ffm).
VLC как клиент открывает url http://videoserver/vasya.flv и смотрит.
Однако, мне не удалось c нашего ffmpeg засунуть поток. VLC отлично
читает с камеры, но умеет отправлять на сервер только RTP в udp/tcp.
vlc конечно ещё умеет отдавать http, но не пушить - подключение к vlc
по http должно быть инициировано в данном случае с сервера. Я мог бы,
конечно, запустить на сервере много cvlc на разных портах, по
экземпляру для каждого клиента, и каким-то образом заставить время от
времени лазить на своих клиентов и пытаться забрать поток.
Но это как-то криво. ffserver'ный вариант с идентификатором "канала" в
url нравится больше.
Ещё есть lscube с flux который умеет слушать udp, получать от
vlc-с-камерой rdp поток и передавать через posix messaging queue в
feng, к которому далее можно обратиться по rtsp://videoserver/vasya.sd
- тоже неплохо, за исключением того что у каждого клиента должен быть
свой порт на котором слушает его личный инстанс flux. Один хрен вся
эта байда не завелась.
Доктор, я буду жить?
--
Mykola Grechukh
RISC Group IT Solutions
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-03-11 6:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-10 20:03 [room] video streaming many-to-many Mykola S. Grechukh
2010-03-11 6:31 ` Vladimir A. Svyatoshenko
Культурный офтопик
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/smoke-room/0 smoke-room/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 smoke-room smoke-room/ http://lore.altlinux.org/smoke-room \
smoke-room@lists.altlinux.org smoke-room@lists.altlinux.ru smoke-room@lists.altlinux.com smoke-room@altlinux.ru smoke-room@altlinux.org smoke-room@altlinux.com
public-inbox-index smoke-room
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.smoke-room
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git