Культурный офтопик
 help / color / mirror / Atom feed
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

             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