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

liquidsoap

 

1
Infector @Infector
meloman197 пишет:

myplaylist = mksafe(playlist(mode='normal', '/home/users/kaster1980/autodj/playlist.txt', reload=360 ))

Ребята, прошу разъяснить: в данной ситуации reload=360 должен просто перечитывать плейлист и если он не изменился продолжать воспроизведение в той последовательности, которая в самом плейлисте либо в любом случае после истечения 360 с плейлист будет перегружен и воспроизведение начнется с первого трека данного листа? Заранее благодарен за помощь!


В данном случае происходит проверка не изменился ли плей лист, если изменился то подгрузится новый.

382
Grigorij @gyurgin_1
Плейлист грузится один раз при запуске, запомните это раз и навсегда.

6245
Тарас @tarasian666
Infector пишет:

meloman197 пишет:

myplaylist = mksafe(playlist(mode='normal', '/home/users/kaster1980/autodj/playlist.txt', reload=360 ))

Ребята, прошу разъяснить: в данной ситуации reload=360 должен просто перечитывать плейлист и если он не изменился продолжать воспроизведение в той последовательности, которая в самом плейлисте либо в любом случае после истечения 360 с плейлист будет перегружен и воспроизведение начнется с первого трека данного листа? Заранее благодарен за помощь!


В данном случае происходит проверка не изменился ли плей лист, если изменился то подгрузится новый.

точно не помню но проводил эксперименты насчет этого - мониторя плейлист через telnet, менял содержимое папки, чтоб убедится как этот reload работает.

18
Максим @Maksim_CHaykin
liquidsoap 1.1.1
ставил из сырцов

* Supported input formats
- Vorbis : yes
- Theora : no (requires theora)
- Speex : no (requires speex)
- Dirac : no (requires schroedinger)
- Flac (native) : yes
- Flac (ogg) : yes
- 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 : yes
- MP3 : yes
- MP3 (fixed-point) : no (requires shine)
- AAC : no (requires voaacenc)
- AAC+ : detected at runtime
- FDK-AAC : no (requires fdkaac)
- SPEEX : no (requires speex)
- Opus : no (requires opus)
- Theora : no (requires theora)
- Dirac : no (requires schroedinger)

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

* Input / output
- Icecast/Shoutcast : yes
- AO : yes
- 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 : no (requires soundtouch)
- LADSPA : no (requires ladspa)

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

* MIDI manipulation
- DSSI : no (requires dssi)

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

* Additional libraries
- dynlink : yes
- inotify : no (requires inotify)
- lo : no (requires lo)
- magic : yes
- yojson : yes
- windows service : no (requires winsvc)

* Graphical interfaces
- Python GUI : no


при запуске /etc/liquidsoap/radio.liq выдает
At line 20, char 15: the variable output.icecast used here has not been previously defined.


#!/usr/local/bin/liquidsoap
# Log dir
set("log.file.path","/tmp/basic-radio.log")

# Music
myplaylist = playlist("etc/liquidsoap/playlist.m3u")
# Some jingles
jingles = playlist("etc/liquidsoap/playlist.m3u")
# If something goes wrong, we'll play this
security = single("etc/liquidsoap/playlist.m3u")

# 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])

# Stream it out
output.icecast(%mp3,
host = "192.168.1.40", port = 8000,
password = "12qwas", mount = "live",
radio)

Кто знает в чем ошибка, помогите пожалуйста!
В лог ничего не пишет

Отредактировано Maksim_CHaykin - 07.06.2015
6245
Тарас @tarasian666
других версий не установлено ?
что говорит команда liquidsoap --list-plugins ?
чтоб уж наверняка /usr/local/bin/liquidsoap --list-plugins

18
Максим @Maksim_CHaykin
tarasian666 пишет:

других версий не установлено ?

Сначала ставил с репозитория 1.0.1
Потом собрал поверх него 1.1.1

/usr/local/bin/liquidsoap --list-plugins - **********

Отредактировано Maksim_CHaykin - 07.06.2015
18
Максим @Maksim_CHaykin
/usr/bin/liquidsoap --list-plugins - **********

6245
Тарас @tarasian666
надо все удалить и ставить что-то одно иначе непонятно что запускается и с какими плагинами, output.icecast в первом есть во втором нет

18
Максим @Maksim_CHaykin
Я так и понял. Единственное как мне полностью все подчистить?
apt-get remove liquidsoap
apt-get autoremove
apt-get purge
особо не помогли

UPD: удалил 1.0.1 вроде больше этой ошибки нет, пошел дальше разбираться. Спасибо за помощь, tarasian666!

Отредактировано Maksim_CHaykin - 07.06.2015
6245
Тарас @tarasian666
еще удалить то что установлено из исходников, из папки где делалось make install сделать make uninstall
после убедиться что нет такого исполняемого файла как liquidsoap и любых других воспоминаний этого слова в файлах или названиях файлов.
И тогда уже установить.

18
Максим @Maksim_CHaykin
а есть ли такая реализация, например
Первая программа выходит в эфир во вторую пятницу месяца с 20-21
Вторая программа выходит в эфир четвертый четверг месяца с 20-21
И чтобы после окончания плейлиста, который может закончится и немного раньше не шла тишина, а продолжала играть музыка с другого плейлиста
Как это прописать, кто-нибудь знает?

На ум только приходит поднимать еще один маунт, который будет выключаться после окончания on_done = shutdown. Но вот как реализовать плавающий день недели?

В кроне раньше делал:
0 20 8-14 * * [ "$(date '+%u')" -eq 5 ] && скрипт запуска

может можно сделать что-то подобное?

Отредактировано Maksim_CHaykin - 08.06.2015
6245
Тарас @tarasian666
все делается через switch, fallback и не надо двух маунтов

а для подсчета типа "четвертый четверг месяца" можно использовать внешний скрипт который будет подгружать в очередь (queue)

18
Максим @Maksim_CHaykin
tarasian666 пишет:

все делается через switch, fallback и не надо двух маунтов

а для подсчета типа "четвертый четверг месяца" можно использовать внешний скрипт который будет подгружать в очередь (queue)

А вот с этим у меня проблема. Если не сложно не могли бы вы мне помочь в этом

18
Максим @Maksim_CHaykin
вроде более или менее разобрался.
Вопрос один остался: В запросе на следующую песню (queue) можно ли чтобы скрипт выдавал путь к папке, а не путь к файлу

18
Максим @Maksim_CHaykin
Функция smooth_add сжирает очень много памяти, можно ли с этим что-то сделать?
radio_main = smooth_add(normal=radio,special=switch([({ 00m0s or 25m0s }, jingles)]))

6245
Тарас @tarasian666
много это сколько?

18
Максим @Maksim_CHaykin
для нормальной работы сколько рекомендуется оперативы иметь?

6245
Тарас @tarasian666
незнаю, у меня на сервере гиг, хватает с запасом. Сейчас liquidsoap использует 46мб но без smooth_add.

18
Максим @Maksim_CHaykin
tarasian666 пишет:

использует 46мб.

Я уже все поотключал, жрет скотина

5
k-makarov @k-makarov
Только начал разбираться с liquidsoap, прочитал статью ********** и не совсем понял один момент.

Для того, чтобы закинуть файлы в стрим, нужно обязательно создать плэйлист/плэйлисты? нельзя просто указать папку с музыкой, из файлов которой ликвид сам создаст стрим и отправит на icecast?