Есть сервер icecast2. В него надо засунуть поток для раздачи. Из источника поток достаётся по HTTP в mpeg audio (mp2 или mp3, фиг его знает, 64 килобита), запакованный в ts.
Я попробовал использовать для загрузки vlc. Единственный сколько-нибудь работающий вариант выглядит так:
cvlc -v ‘http://источник’ –no-sout-video –sout \
‘#std{access=shout{mp3=1,bitrate=64,samplerate=48000,channels=2},mux=ts,dst=source:пароль@сервер:8000/test.ogg}’
Пробовал менять mux на ogg и raw, тогда вообще не работает – сервер через несколько секунд после коннекта выдаёт в лог
[2010-02-01 17:32:53] WARN source/get_next_buffer Disconnecting source due to socket timeout
[2010-02-01 17:32:53] INFO source/source_shutdown Source “/test.ogg” exiting
хотя vlc этого не замечает.
А в вышеприведённом варианте никто не ругается, но при попытке это послушать клиент медленно и печально получает около 40 килобайт данных, после чего отваливается по таймауту.
Что я делаю не так?
P.S. Поток из источника сам по себе нормальный, mplayer и vlc его успешно играют.