Хочу поднять свое ТВ. ужас просто как хочу =)
ВВЕДЕНИЕТопология сервера такова:
На VPS установлен айскаст, к которому идет коннект целевых пользователей радио.
Открыл для него возможность подключать 5 источников.
<sources>5</sources>
Дома стоят 2 компа...
С 1го вещается 3 аудиопотока на айскаст (собственно радио). Второй планируется заделать под ТВ, то есть, вещать на айскаст видеопоток. Причем поток должен заглатываться максимальным числом клиентов, в этом смыслк он должен быть наиболее универсальным... Максимально универсальный вариант - Ogg-Theora
Настраиваем на 2й машине EZStream на скармливание потока айскасту:
/etc/ezstream.xml<ezstream>
<url>http://xxx.xxx.xxx.xxx:8000/tv.ogg</url>
<sourcepassword>hackme</sourcepassword>
<format>THEORA</format>
<filename>/etc/ezstream.m3u</filename>
<shuffle>1</shuffle>
<svrinfoname>Test TV</svrinfoname>
<svrinfourl>http://ylsoftware.com</svrinfourl>
<svrinfogenre></svrinfogenre>
<svrinfodescription>Test TV-Chanel</svrinfodescription>
<svrinfobitrate>200</svrinfobitrate>
<svrinfochannels>2</svrinfochannels>
<svrinfosamplerate>44100</svrinfosamplerate>
<reencode>
<enable>1</enable>
<encdec>
<format>THEORA</format>
<match>.avi</match>
<decode>ffmpeg2theora -x 800 -y 600 -a 0 -v 4 --title "@M@" -o - "@T@"</decode>
</encdec>
<encdec>
<format>THEORA</format>
<match>.mpg</match>
<decode>ffmpeg2theora -x 800 -y 600 -a 0 -v 4 --title "@M@" -o - "@T@"</decode>
</encdec>
</reencode>
</ezstream>
800x600 - более чем достаточное разрешение, чтобы крутить поток на сайте и в тоже время не грузить перекодированием сервер-источник.
Соответственно у нас должны быть созданы
файл конфига
файл плейлиста
запускаем EZStream:
$ ezstream -c /etc/ezstream.xml
параметром -с скармливаем ему при запуске наш конфиг с настройками перекодирования и плейлистом.
Смотрим результат:
коннектимся на целевой сервер вещания (тот который с айскастом), например через VLC -
http://xxx.xxx.xxx.xxx:8000/tv.oggрадуемся? вполне...
Однако, тут возникает проблема с организацией просмотра ТВ на сайте:
Вещание на сайте оргнаизовано следующим образом, на отдельной странице вставляем плеер, например на HTML5:
<video width="640" height="480" poster="http://xxx.xxx.xxx.xxx/tv.jpg" controls>
<source src='movie.ogg' type='video/ogg; codecs="theora, vorbis"'/>
</video>
Однако, тут возникает проблема - при смене ролика в плейлисте вещание прерывается до тех пор, пока не обновишь страницу... При просмотре через VLC это не так заметно - на секунду появляется черный экран, но потом вещание продолжается, а вот плеер на HTML5 его не продолжает автоматом...
По такому случаю ответьте пожалуйста на вопрос - как исправить данную проблему?