From: "Mykola S. Grechukh" <gns@altlinux.org>
To: "Культурный офтопик" <smoke-room@lists.altlinux.org>
Subject: [room] video streaming many-to-many
Date: Wed, 10 Mar 2010 21:03:34 +0100
Message-ID: <a4ab440f1003101203q363e77fem96b7b2146799b9c6@mail.gmail.com> (raw)
Здравствуйте,
Я потратил целый день на ковыряние в этих ваших
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
next reply other threads:[~2010-03-10 20:03 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-10 20:03 Mykola S. Grechukh [this message]
2010-03-11 6:31 ` Vladimir A. Svyatoshenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a4ab440f1003101203q363e77fem96b7b2146799b9c6@mail.gmail.com \
--to=gns@altlinux.org \
--cc=smoke-room@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Культурный офтопик
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