Задача возникла такая.
Транслировать с вебкамеры нескольким абонентам. Что-то типа 1 лектор + N слушателей. Транслируется и звук и видео.
В помещении где камера нет белого IP, но имеется сервер с белым IP в другом помещении.
Пробую сделать так WebCam+VLC транслирует на сервер на IceCast. А он ретранслирует дальше тем кто подключится.
Лет 5 назад баловался icecast-ом транслировал музыку в локалке с радио и файлов. Да уже подзабыл многое.
И вот с видео проблема, не получается увидеть с icecast поток.
Пробую для начала в локалке.
c VLC отправляю поток на сервер.
:sout=#transcode{vcodec=theo,vb=1000,acodec=vorb,ab=128,channels=2,samplerate=44100}:std{access=shout,mux=ogg,dst=source:test@192.168.1.202:8000/test} :sout-keep
т.е. картинка с вебкамеры кодируется в Theora+Vorbis(OGG). Камера включена. Отсчет в VLC идет.
В админке IceCast вижу такую картину.
Global Server Statsadmin icemaster@localhost
client_connections 24
clients 1
connections 29
file_connections 21
host 192.168.1.202
listener_connections 0
listeners 0
location Earth
server_id Icecast 2.3.3
server_start Tue, 12 Jan 2016 22:11:50 +0600
source_client_connections 4
source_relay_connections 0
source_total_connections 4
sources 1
stats 0
stats_connections 0
Mount Point /testList ClientsMove MountPointsUpdate MetadataKill Source
audio_bitrate 128000
audio_channels 2
audio_samplerate 44100
frame_rate 30.00
frame_size 1280 x 720
genre Alternative
ice-bitrate 128
listener_peak 0
listeners 0
listenurl
http://192.168.1.202:8000/testmax_listeners unlimited
public 0
server_description Live stream from VLC media player
server_name VLC media player - Live stream
server_type application/ogg
server_url
http://www.videolan.org/vlcslow_listeners 0
source_ip 192.168.1.224
stream_start Tue, 12 Jan 2016 22:42:36 +0600
subtype Vorbis/Theora
total_bytes_read 556017
total_bytes_sent 0
user_agent VLC media player 2.1.5
video_bitrate 800000
video_quality 12
Mount Point /test2Точка /test появляется в админке только при запуске VLC потока. Т.е. он достигает icecast
Конфиг у icecast такой
icecast.xml<icecast>
<-- Тут оставил без изменений -->
<location>Earth</location>
<admin>icemaster@localhost</admin>
<limits>
<clients>100</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<burst-on-connect>1</burst-on-connect>
<burst-size>65535</burst-size>
</limits>
<-- Тут указал пароли доступа -->
<authentication>
<source-password>test</source-password>
<admin-user>admin</admin-user>
<admin-password>test</admin-password>
</authentication>
<-- Это как я понимаю адрес и порт который для админки-->
<hostname>192.168.1.202</hostname>
<listen-socket>
<port>8000</port>
</listen-socket>
<-- Тут как я понимаю указывается сервер и порт с которого слушается входящий поток и входящая
точка монтирования /test перенаправляется на исходящую точку монтирования /test2
Т.е. принимающая сторона должна смотреть url http://192.168.1.202:8000/test2
-->
<relay>
<server>192.168.1.202</server>
<port>8000</port>
<mount>/test</mount>
<local-mount>/test2</local-mount>
<on-demand>1</on-demand>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
<-- Остальные настройки не трогал -->
<fileserve>1</fileserve>
<paths>
<basedir>/usr/share/icecast2</basedir>
<logdir>/var/log/icecast2</logdir>
<webroot>/usr/share/icecast2/web</webroot>
<adminroot>/usr/share/icecast2/admin</adminroot>
<alias source="/" destination="/status.xsl"/>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>3</loglevel>
<logsize>10000</logsize>
</logging>
<security>
<chroot>0</chroot>
</security>
</icecast>
Не могу понять почему не работает на третьем компьютере прием потока (тоже в VLC)
Пытаюсь смотреть с
http://192.168.1.202:8000/test2