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

liquidsoap

 

1
Infector @Infector
meloman197 пишет:

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

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


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

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

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

meloman197 пишет:

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

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


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

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

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

  1. * Supported input formats
  2. - Vorbis : yes
  3. - Theora : no (requires theora)
  4. - Speex : no (requires speex)
  5. - Dirac : no (requires schroedinger)
  6. - Flac (native) : yes
  7. - Flac (ogg) : yes
  8. - MP3 : yes
  9. - AAC : no (requires faad)
  10. - text-to-speech : requires text2wave (festival) and sox at runtime
  11. - XML playlists : no (requires xmlplaylist)
  12. - Lastfm : no (requires lastfm)
  13. * Supported output formats
  14. - Vorbis : yes
  15. - MP3 : yes
  16. - MP3 (fixed-point) : no (requires shine)
  17. - AAC : no (requires voaacenc)
  18. - AAC+ : detected at runtime
  19. - FDK-AAC : no (requires fdkaac)
  20. - SPEEX : no (requires speex)
  21. - Opus : no (requires opus)
  22. - Theora : no (requires theora)
  23. - Dirac : no (requires schroedinger)
  24. * Tags
  25. - Taglib (ID3 tags) : yes
  26. - Vorbis : yes
  27. - charset detection : yes
  28. * Input / output
  29. - Icecast/Shoutcast : yes
  30. - AO : yes
  31. - OSS : yes
  32. - ALSA : no (requires alsa)
  33. - Portaudio : no (requires portaudio)
  34. - Pulseaudio : no (requires pulseaudio)
  35. - JACK : no (requires bjack)
  36. - GStreamer : no (requires gstreamer)
  37. * Audio manipulation
  38. - Samplerate : yes
  39. - SoundTouch : no (requires soundtouch)
  40. - LADSPA : no (requires ladspa)
  41. * Video manipulation
  42. - Gavl : no (requires gavl)
  43. - FFmpeg : no (requires ffmpeg)
  44. - frei0r : no (requires frei0r)
  45. - camlimages : no (requires camlimages)
  46. * MIDI manipulation
  47. - DSSI : no (requires dssi)
  48. * Visualization
  49. - Graphics : no (requires graphics)
  50. - SDL : no (requires sdl)
  51. - GD : no (requires gd)
  52. * Additional libraries
  53. - dynlink : yes
  54. - inotify : no (requires inotify)
  55. - lo : no (requires lo)
  56. - magic : yes
  57. - yojson : yes
  58. - windows service : no (requires winsvc)
  59. * Graphical interfaces
  60. - Python GUI : no


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


  1. #!/usr/local/bin/liquidsoap
  2. # Log dir
  3. set("log.file.path","/tmp/basic-radio.log")
  4. # Music
  5. myplaylist = playlist("etc/liquidsoap/playlist.m3u")
  6. # Some jingles
  7. jingles = playlist("etc/liquidsoap/playlist.m3u")
  8. # If something goes wrong, we'll play this
  9. security = single("etc/liquidsoap/playlist.m3u")
  10. # Start building the feed with music
  11. radio = myplaylist
  12. # Now add some jingles
  13. radio = random(weights = [1, 4],[jingles, radio])
  14. # And finally the security
  15. radio = fallback(track_sensitive = false, [radio, security])
  16. # Stream it out
  17. output.icecast(%mp3,
  18. host = "192.168.1.40", port = 8000,
  19. password = "12qwas", mount = "live",
  20. radio)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.