MainRadiotalkCustom
Технологии вещания, софт, скрипты
3   •   Посмотреть все темы

liquidsoap

 

6245
Тарас @tarasian666
shoutcast с плагином )
из простых есть еще
radioboss
djin (**********)

67
nivs @nivs
radioboss платный, забыл сказать, что нужны бесплатные решения. djinlite вроде подходит, но он какой-то очень уж сложный. Проигрывание своих песенок я осилил, но вот из микрофона в прямой эфир выдавать звук не получается никак. Видимо, это в принципе **********. Больше вариантов нет?

В итоге к Liquidsoap'у подключился с помощью AIMP3 + edcast. Довольно удобно сделано, как мне и надо было. Если бы ещё AIMP не запускался параллельно, но это мелочи.

Отредактировано nivs - 04.04.2013
8
Саша @Sasha_Yohan
подскажите как правильно его запустить на debian
из под root нельзя. создал нового пользователя, захожу через ssh, запускаю
$ liquidsoap /путь/к/конфигу/play.liq
всё работает, но как только выхожу из программы ssh, то сразу и liquidsoap выключается

6245
Тарас @tarasian666
set("init.daemon",true)
set("log.stdout",false)

8
Саша @Sasha_Yohan
Спасибо, помогло
только ещё попросил дописать строку
set("init.daemon.pidfile.path", "/var/run/liquidsoap/liquidsoap.pid")

Отредактировано Sasha_Yohan - 24.04.2013
8
Саша @Sasha_Yohan
нашел ещё вот это
**********
файл сделал, пути прописал
после перезагрузки ничего не произошло

какой командой потом делать stop и start?
и у liquidsoap есть коммандная строка reload config как у icecast?

Отредактировано Sasha_Yohan - 24.04.2013
8
Саша @Sasha_Yohan
на Хабре нашел ещё чтото похожее
Ну и для полноты статьи, мини-конфиг для upstart:

description "air-st"
start on (
net-device-up
local-filesystems
and runlevel [2345]
)
stop on runlevel [016]
respawn
exec su - liquidsoap -c "/usr/local/bin/liquidsoap /etc/liquidsoap/st.liq"

Стандартно service air-st start/stop/restart (st — краткое название одной из станций. Удобно перезапускать их независимо).


подскажите как это реализовать,
вся надежда только на вас)

Отредактировано Sasha_Yohan - 24.04.2013
8
Саша @Sasha_Yohan

set("init.daemon", true)
set("log.stdout", false)
set("init.daemon.pidfile.path", "/var/run/liquidsoap/liquidsoap.pid")
set("log.file.path", "/var/log/liquidsoap/liquidsoap.log")
set("harbor.bind_addr","0.0.0.0")

files = playlist(reload=360, "/home/sound")
files = mksafe(files)

live = input.harbor("live",port=8000,password="777")
radio = fallback(track_sensitive=false, [live,files])

output.icecast(%aacplus(bitrate=32),
host = "0.0.0.0", port = 80,
mount="test.aac", password="777",
radio)


добрые люди, гляньте плиз что не так?
не пойму почему не хочет запускаться harbor

может в PACKAGES.minimal нужно было ещё чтото раскомментировать перед тем как собирать?
или может ещё чтото отдельно запустить нужно?

вот кусок из логов
2013/04/23 23:48:54 [threads:3] Created thread "generic queue #1".
2013/04/23 23:48:54 [threads:3] Created thread "generic queue #2".
2013/04/23 23:48:54 [threads:3] Created thread "non-blocking queue #1".
2013/04/23 23:48:54 [clock.wallclock_main:2] Error when starting test(dot)aac: Failure("inet_addr_of_string")!
2013/04/23 23:48:54 [clock.wallclock_main:3] Raised by primitive operation at file "", line 0, characters 0-0
2013/04/23 23:48:54 [test(dot)aac:1] Got ill-balanced activations (from test(dot)aac)!
2013/04/23 23:48:54 [clock:2] Error when leaving output test(dot)aac: File "source.ml", line 403, characters 10-16: Assertion failed!
2013/04/23 23:48:54 [main:3] Shutdown started!
2013/04/23 23:48:54 [main:3] Waiting for threads to terminate...
2013/04/23 23:48:54 [main:3] Cleaning downloaded files...
2013/04/23 23:48:54 [main:3] Freeing memory...

Отредактировано Sasha_Yohan - 24.04.2013
1
tarasian666 @Тарас_Артюшенко
как минимум не правильный ip сервера host = "0.0.0.0"


файл сделал, пути прописал
после перезагрузки ничего не произошло

прописать пути и создать файл недостаточно, надо сказать системе чтоб загружать этот скрипт (update-rc.d или chkconfig звависимости от системы)

Отредактировано Тарас_Артюшенко - 24.04.2013
28
pincher @pincher
Подскажите как решить проблему с запуском Liquidsoap?

Установка производилась с нуля на debian 6
1) icecast 2.3.2
установки все по умолчанию.....дописал
<hostname>host.xx</hostname>
<port>8991</port>

<mount>
<mount-name>/live</mount-name>
<max-listeners>100</max-listeners>
<burst-size>65536</burst-size>
<hidden>0</hidden>
<no-yp>0</no-yp>
<genre>Various</genre>
</mount>

<security>
<chroot>0</chroot>
</security>

icecast сидит на нужном порту и слушает

netstat -apn | grep icecast
tcp 0 0 0.0.0.0:8991 0.0.0.0:* LISTEN 4827/icecast2



2) lame-3.99.5
./configure
make
make install

3)liquidsoap взял
liquidsoap-1.0.1-full.tar.bz2 пишут что с поддержкой mp3

PACKAGES

ocaml-mad
ocaml-taglib
ocaml-lame
ocaml-samplerate
ocaml-soundtouch
ocaml-dtools
ocaml-duppy
ocaml-mm
liquidsoap

./configure --with-user=user --with-group=group --disable-graphics

make

root
#make install

создал файлик radio.liq
запуск liquidsoap -c radio.liq (user)

содержимое файла взял с первой страницы данной ветки но суть не важна
как бы я не менял данные вещания output.icecast(%mp3,(%vorbis,) ошибка одна и та же и именно в этой строке

the variable output.icecast used here has not been previously defined.

гугление результатов не дало поэтому обращаюсь к сообществу

Отредактировано pincher - 04.06.2013
6245
Тарас @tarasian666
что пишет после configure ?

28
pincher @pincher
Не понял вопроса?
если после ./configure
то много чего пишет но ошибок нет!

6245
Тарас @tarasian666
в самом конце, должно написать что установлено а что нет

28
pincher @pincher
* Supported input formats
- Vorbis : no (requires vorbis)
- Theora : no (requires theora)
- Speex : no (requires speex)
- Dirac : no (requires schroedinger)
- Flac (native) : no (requires flac)
- Flac (ogg) : no (requires flac.ogg)
- MP3 : yes
- AAC : no (requires faad)
- text-to-speech : requires text2wave (festival) and sox at runtime
- XML playlists : no (requires xmlplaylist)
- Lastfm : no (requires lastfm)

* Supported output formats
- Vorbis : no (requires vorbis)
- MP3 : yes
- AAC : no (requires voaacenc)
- AAC+ : no (requires aacplus)
- SPEEX : no (requires speex)
- Theora : no (requires theora)
- Dirac : no (requires schroedinger)

* Tags
- Taglib (ID3 tags) : yes
- Vorbis : no (requires vorbis)
- charset detection : yes

* Input / output
- Icecast/Shoutcast : no (requires cry)
- AO : no (requires ao)
- OSS : yes
- ALSA : no (requires alsa)
- Portaudio : no (requires portaudio)
- Pulseaudio : no (requires pulseaudio)
- JACK : no (requires bjack)
- GStreamer : no (requires gstreamer)

* Audio manipulation
- Samplerate : yes
- SoundTouch : yes
- LADSPA : no (requires ladspa)

* Video manipulation
- Gavl : no (requires gavl)
- camlimages : no (requires camlimages)

* MIDI manipulation
- DSSI : no (requires dssi)

* Visualization
- Graphics : yes
- SDL : no (requires sdl)
- GD : no (requires gd)

* Additional libraries
- dynlink : yes
- magic : no (requires magic)
- lo : no (requires lo)
- yojson : no (requires yojson)

* Graphical interfaces
- Python GUI : no

-----------------------------------------------------------------------------

You may now compile liquidsoap by running "make".
In case of significant library update, "make clean" is needed first.

If you want a local version of the documentation, run "make doc".

Then, perform installation by running "make install" as root.

And... have fun!


mp3 поддерживает

28
pincher @pincher
* Input / output
- Icecast/Shoutcast : no (requires cry)

Вот это!

Отредактировано pincher - 04.06.2013
28
pincher @pincher
Большое спасибо! Конечно еще не все хорошо но я думаю как раз ошибка была в этом

PACKAGES
ocaml-mad
ocaml-taglib
ocaml-lame
ocaml-samplerate
ocaml-soundtouch
ocaml-dtools
ocaml-duppy
ocaml-mm
liquidsoap

взял файл PACKAGES.minimal и cp PACKAGES
после этого ошибка кроется в myplaylist но это я думаю побороть смогу!

28
pincher @pincher
Подскажите где посмотреть процесс liquidsoap?
запуск конфигурационных файлов проходит без ошибок но тем не менее в icecast mount не появляется.
САМ КОНФИГ
#!/usr/local/bin/liquidsoap
set("log.file.path","/home/pincher/logs/lqs.log")
(в логах пусто)
# Music
myplaylist = playlist("/mnt/music/alter/playlist.m3u")
# Some jingles
jingles = playlist("mnt/music/romantic/playlist.m3u")
# If something goes wrong, we'll play this
security = single("/mnt/music/alter/Bliss.mp3")

# Start building the feed with music
radio = myplaylist
# Now add some jingles
radio = random(weights = [1, 4],[jingles, radio])
# And finally the security
radio = fallback(track_sensitive = false, [radio, security])

output.icecast(%mp3,
host = "localhost", port = 8991,
password = "hackme", mount = "live.m3u",
radio)
ICECAST
<authentication>
<!-- Sources log in with username 'source' -->
<source-password>hackme</source-password>
<relay-password>hackme</relay-password>
<!-- Admin logs in with the username given below -->
<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>
</authentication>

<listen-socket>
<port>8991</port>
</listen-socket>

<mount>
<mount-name>/live</mount-name>
<max-listeners>100</max-listeners>
<burst-size>65536</burst-size>
<hidden>0</hidden>
<no-yp>0</no-yp>
<genre>Various</genre>
</mount>
<fileserve>1</fileserve>

top
ps aux
безрезультатно
и логи пустые хотя все файлы созданы.......так бы хоть в них посмотрел погуглил
Он вообще в процессах должен быть?

Отредактировано pincher - 05.06.2013
6245
Тарас @tarasian666
Если в логе пусто он не запустился, в процессах естественно тоже должен быть.
Проверьте права доступа

28
pincher @pincher
Еще раз спасибо! Вина моя я по незнанию запускал liquidsoap с ключом -с и по моему был прав.....все запустилось без этого ключа
просто из под user liquidsoap (конфигурационный файл) .liq
Судя по потоку плэйлисты он не подхватил.......но теперь уже проще разбираться! Спасибо еще раз!

Отредактировано pincher - 05.06.2013
28
pincher @pincher
Прошу разъяснения настройка liquidsoap еще в процессе но сегодня попробовал подключиться микрофоном через fallback-mount используя RadioBOSS услышал свой голос все хорошо,но вот вопрос......почему-то я его услышал с многократным эхом.....в какую сторону смотреть? Это ширина канала? Это RadioBOSS? В каком месте можно искать решение
Вообще связка icecast+liquidsoap запущена на облачном сервере от Amazon ширина канала по данным tcpdump 10Mbit
На своей стороне имею всего 2Mbit
Извиняюсь если вопрос не в ту ветку!

Отредактировано pincher - 06.06.2013