вторник, 21 февраля 2006 г.

Трансляция радио со спутника в сеть

Возникла задача радио со спутника направить в сеть юзерам. :) Погуглив, решил остановиться на vlc. Собрал я vlc, но он отказывался работать. Играл только 5 каналов, причем каждый раз разные. После нескольких неудачных попыток и курения доков vlc, я в нем стал немного разбираться, но все равно не понимал откуда ростут грабли. Как выяснилось потом, это криво собрался vlc. После пересборки и добавления нескольких use-флагов все отлично заработало.
serg_sk@FTP ~ $ grep vlc /etc/portage/package.use
media-video/vlc stream screen httpd vlm cdda cdio cddb freetype dts mod ogg vorbis theora xv x11 ffmpeg mad aac a52 dts mpeg live ssl bidi flac matroska dvb v4l wxwindows

А запускается сама трансляция радио такой командой:
/usr/bin/vlc -I http -vv --color --ttl 12 --ts-es-id-pid
--programs=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
dvb: --dvb-frequency=12073000 --dvb-srate=27500000
--dvb-voltage=18 --sout-standard-access=http
--sout-standard-mux=raw --sout
'#duplicate{dst=std{url=172.16.23.125:9001},select="program=1",
dst=std{url=172.16.23.125:9002},select="program=2",
dst=std{url=172.16.23.125:9003},select="program=3",
dst=std{url=172.16.23.125:9004},select="program=4",
dst=std{url=172.16.23.125:9005},select="program=5",
dst=std{url=172.16.23.125:9006},select="program=6",
dst=std{url=172.16.23.125:9007},select="program=7",
dst=std{url=172.16.23.125:9008},select="program=8",
dst=std{url=172.16.23.125:9009},select="program=9",
dst=std{url=172.16.23.125:9010},select="program=10",
dst=std{url=172.16.23.125:9011},select="program=11",
dst=std{url=172.16.23.125:9012},select="program=12",
dst=std{url=172.16.23.125:9013},select="program=13",
dst=std{url=172.16.23.125:9014},select="program=14",
dst=std{url=172.16.23.125:9015},select="program=15",
dst=std{url=172.16.23.125:9016},select="program=16",
dst=std{url=172.16.23.125:9017},select="program=17",
dst=std{url=172.16.23.125:9018},select="program=18",
dst=std{url=172.16.23.125:9019},select="program=19",
dst=std{url=172.16.23.125:9020},select="program=20"}' 2&> /dev/null &

Как вы догадались, трансляция радио на 20 каналов. 172.16.23.125 - это ип сервака на котором собственно и крутится радио. Собственно и все :) Документация о vlс хорошо расписана на офф сайте, а доки по настройке спутника можно найти на опеннет.
Сейчас сижу балдю под звуки радио :)