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

liquidsoap

 

6245
Тарас @tarasian666
Я имел ввиду кодировку не файлов, а в самои жидком мыле задается кодировка, ну да ладно раз работает)

0
67
nivs @nivs
tarasian666 пишет:

в самом жидком мыле задается кодировка
Где?

А как пользоваться liguidsoap? Я подключился, но в чём смысл этой программы - не могу понять. Как я понимаю, что-то надо включить в конфиг, кроме:
  1. set("server.telnet.bind_addr","127.0.0.1")
  2. set("server.telnet",true)

mix смог прикрутить, а остальное как?

Отредактировано nivs - 16.09.2012
0
6245
Тарас @tarasian666
set("tag.encodings",["UTF-8","ISO-8859-1"])

может вы имели ввиду как пользоваться telnet ?

0
67
nivs @nivs
tarasian666 пишет:

set("tag.encodings",["UTF-8","ISO-8859-1"])
Видимо, вы не поняли. У меня нет проблем с тегами музыкальных файлов, проблема с бегущей строкой. Хотя я таки попробую, спасибо.

tarasian666 пишет:

может вы имели ввиду как пользоваться telnet ?
Ну liguidsoap же GUI'шный клиент telnet'а. Так что, в принципе, да. Mix прикрутил, довольно забавно - добавил строку radio = mix([radio]). Что ещё он умеет, этот telnet (liguidsoap)?

0
6245
Тарас @tarasian666
кроме вывода разного вида информации переключение на сл. трек, поставить в очередь трек, вкл выкл вещание и тд и тп
зайдя через telnet и написать help выдаст все доступные команды для данного конфига

0
67
nivs @nivs
Спасибо, буду тестить. А для дополнительных возможностей удалённого управления что-нибудь в скрипт добавлять надо? Типа этого mix([]). В информации, которая выводится в liguidsoap что-то такое написано, но не понятно что.

0
6245
Тарас @tarasian666
в скрипт добавить врядли можно, можно задавать какие-то переменые но я сам толком не понял какие и что оно даст

а в mix сразу надо в конфиге вписать потоки которые микшировать

не пользуюсь liguidsoap так как там интерфейс не очень дружелюбен, на вебе можно поприятней гуи накатать )

0
67
nivs @nivs
tarasian666 пишет:

не пользуюсь liguidsoap так как там интерфейс не очень дружелюбен, на вебе можно поприятней гуи накатать )
airtime, к примеру :)

0
6245
Тарас @tarasian666
в аиртайм много ненужного, к примеру все что вещается записывается и сохраняется что занимает со временем огого и еще какоето перекодирование отдельной прогой треков там идет (выравнивание громкости или еще что точно не помню) и при всем этом попробовал вывести звук "на колонки" прям оттуда - и оно все не смогло "взлететь", звук прерывался каждые пол секунды если не чаще
А еще неудобство что нельзя локальную музыку просто добавить - только загрузить через вэб

в итоге я себе сделал автодиджей по принципу как в сэме и управление им через вэб и мне этого хватает

Отредактировано tarasian666 - 17.09.2012
0
67
nivs @nivs
Я когда-то пробовал Airtime, но мне не понравилось то, что я не смог выставлять управление группами плейлистов и импортировать их с компьютера - приходилось вручную создавать. Кроме того, там нельзя было выставить плейлист на определённый день недели и редактировать его как группу. Я познакомился с ним ещё до liquidsoap. Лучше уж посложнее конфигурация, но зато более гибкая.

Программа ваша только для личного пользования? Я в программировании не силён, кое-как начинаю изучать Python, так что до автодиджея с вебовским фронтэндом мне далеко, а это на самом деле очень удобно.

0
6245
Тарас @tarasian666
Пока только для личного, если для общества ее еще "доводить до ума" надо

А я пайтон так и не взялся изучать )

0
67
nivs @nivs
tarasian666 пишет:

Пока только для личного, если для общества ее еще "доводить до ума" надо

А я пайтон так и не взялся изучать )


Если захотите, можем вместе написать подобное на нём, заодно оба подучимся :) Я SVN оформлю, книжек подкину, теорией помогу. Какой-нибудь конфигуратор гуишный на PyQT, я сейчас калькулятор пишу на нём. Наипростейший язык, одно удовольствие кодить на нём, особенно после университетского С++.

0
6245
Тарас @tarasian666
было б неплохо, но было б еще время )

0
67
nivs @nivs
Да, у меня со временем тоже беда... В свободное время пока занимаюсь калькулятором, почти дописал. Как допишу - начну делать что-нибудь по liquidsoap'у

0
67
nivs @nivs
Блин, который раз уже... Подскажите, пожалуйста, по какой причине liquidsoap может выдавать тишину? Всё настроено верно, но всё равно тишина. Только что вот работало, перезапустил - потока нет.
  1. #!/usr/local/bin/liquidsoap
  2. # создаём переменные быстрого исправления в одном месте по необходимости
  3. # базовая информация о выводимом потоке
  4. out = output.icecast(
  5. # хост с icecast
  6. host = "192.168.56.1",
  7. # его порт
  8. port = ,
  9. # логин
  10. user = "",
  11. # и пароль
  12. password = "",
  13. # и всякое разное
  14. # название
  15. name = "Поток для форума",
  16. # жанр
  17. genre = "NON-STOP music",
  18. # ссылка на сайт
  19. url = "http://",
  20. # кодировка
  21. encoding = "UTF-8"
  22. )
  23. # _____________________________________
  24. # абсолютный путь к рабочей директории
  25. wd = "/home/stream/radio/radioFORUM"
  26. # путь к папке с коллекцией
  27. pl = "#{wd}/collection"
  28. # техническая папка
  29. tech = "#{wd}/technical"
  30. # логи
  31. set("log.file.path","#{tech}/liquidsoap.log")
  32. set("log.level", 3)
  33. # папка с объявлениями
  34. promo_dir = "#{pl}/promo"
  35. # папка с программами
  36. program_dir = "#{pl}/programs"
  37. # папка с коллекцией временных вставок
  38. #clock_dir = "#{pl}/clock"
  39. # папка с изменяющимся эфиром
  40. ef = "#{pl}/efir"
  41. # папки соответствующих эфиров
  42. ni = "#{ef}/night"
  43. mo = "#{ef}/morning"
  44. da = "#{ef}/daytime"
  45. ev = "#{ef}/evening"
  46. F1 = "#{wd}/FORUM/9-11"
  47. F2 = "#{wd}/FORUM/14-16"
  48. F3 = "#{wd}/FORUM/18-20"
  49. # папки с музыкой
  50. mus_ni_dir = "#{ni}/music"
  51. mus_mo_dir = "#{mo}/music"
  52. mus_da_dir = "#{da}/music"
  53. mus_ev_dir = "#{ev}/music"
  54. mus_F1_dir = "#{F1}/music"
  55. mus_F2_dir = "#{F2}/music"
  56. mus_F3_dir = "#{F3}/music"
  57. # папки с джинглами
  58. jin_ni_dir = "#{ni}/jingles"
  59. jin_mo_dir = "#{mo}/jingles"
  60. jin_da_dir = "#{da}/jingles"
  61. jin_ev_dir = "#{ev}/jingles"
  62. jin_F1_dir = "#{F1}/jingles"
  63. jin_F2_dir = "#{F2}/jingles"
  64. jin_F3_dir = "#{F3}/jingles"
  65. # _____________________________________
  66. # загружаем плейлисты, джинглы, новости и всё такое
  67. mus_ni = playlist (reload = 360, "#{mus_ni_dir}")
  68. mus_mo = playlist (reload = 360, "#{mus_mo_dir}")
  69. mus_da = playlist (reload = 360, "#{mus_da_dir}")
  70. mus_ev = playlist (reload = 360, "#{mus_ev_dir}")
  71. mus_F1 = playlist (reload = 360, "#{mus_F1_dir}")
  72. mus_F2 = playlist (reload = 360, "#{mus_F2_dir}")
  73. mus_F3 = playlist (reload = 360, "#{mus_F3_dir}")
  74. jin_ni = playlist (reload = 360, "#{jin_ni_dir}")
  75. jin_mo = playlist (reload = 360, "#{jin_mo_dir}")
  76. jin_da = playlist (reload = 360, "#{jin_da_dir}")
  77. jin_ev = playlist (reload = 360, "#{jin_ev_dir}")
  78. jin_F1 = playlist (reload = 360, "#{jin_F1_dir}")
  79. jin_F2 = playlist (reload = 360, "#{jin_F2_dir}")
  80. jin_F3 = playlist (reload = 360, "#{jin_F3_dir}")
  81. program = playlist (reload = 360, "#{program_dir}")
  82. promo = playlist (reload = 360, "#{promo_dir}")
  83. #clock_0 = single ("#{clock_dir}/jingleT_0.mp3")
  84. #clock_1 = single ("#{clock_dir}/jingleT_1.mp3")
  85. #clock_2 = single ("#{clock_dir}/jingleT_2.mp3")
  86. #clock_3 = single ("#{clock_dir}/jingleT_3.mp3")
  87. #clock_4 = single ("#{clock_dir}/jingleT_4.mp3")
  88. #clock_5 = single ("#{clock_dir}/jingleT_5.mp3")
  89. #clock_6 = single ("#{clock_dir}/jingleT_6.mp3")
  90. #clock_7 = single ("#{clock_dir}/jingleT_7.mp3")
  91. #clock_8 = single ("#{clock_dir}/jingleT_8.mp3")
  92. #clock_9 = single ("#{clock_dir}/jingleT_9.mp3")
  93. #clock_10 = single ("#{clock_dir}/jingleT_10.mp3")
  94. #clock_11 = single ("#{clock_dir}/jingleT_11.mp3")
  95. #clock_12 = single ("#{clock_dir}/jingleT_12.mp3")
  96. #clock_13 = single ("#{clock_dir}/jingleT_13.mp3")
  97. #clock_14 = single ("#{clock_dir}/jingleT_14.mp3")
  98. #clock_15 = single ("#{clock_dir}/jingleT_15.mp3")
  99. #clock_16 = single ("#{clock_dir}/jingleT_16.mp3")
  100. #clock_17 = single ("#{clock_dir}/jingleT_17.mp3")
  101. #clock_18 = single ("#{clock_dir}/jingleT_18.mp3")
  102. #clock_19 = single ("#{clock_dir}/jingleT_19.mp3")
  103. #clock_20 = single ("#{clock_dir}/jingleT_20.mp3")
  104. #clock_21 = single ("#{clock_dir}/jingleT_21.mp3")
  105. #clock_22 = single ("#{clock_dir}/jingleT_22.mp3")
  106. #clock_23 = single ("#{clock_dir}/jingleT_23.mp3")
  107. # _____________________________________
  108. # строим 4 потока, сразу всё перемешивая
  109. # смешиваем вставки
  110. ins_ni = rotate (weights = [2, 1, 1], [jin_ni, program, promo])
  111. ins_mo = rotate (weights = [2, 1, 1], [jin_mo, program, promo])
  112. ins_da = rotate (weights = [2, 1, 1], [jin_da, program, promo])
  113. ins_ev = rotate (weights = [2, 1, 1], [jin_ev, program, promo])
  114. # смешиваем вставки и потоки
  115. rot_ni = rotate (weights = [1, 1], [mus_ni, ins_ni])
  116. rot_mo = rotate (weights = [3, 1], [mus_mo, ins_mo])
  117. rot_da = rotate (weights = [3, 1], [mus_da, ins_da])
  118. rot_ev = rotate (weights = [3, 1], [mus_ev, ins_ev])
  119. rot_F1 = rotate (weights = [3, 1], [mus_F1, jin_F1])
  120. rot_F2 = rotate (weights = [3, 1], [mus_F2, jin_F2])
  121. rot_F3 = rotate (weights = [3, 1], [mus_F3, jin_F3])
  122. #_______________________________________________________________________
  123. radio = switch (track_sensitive = true,
  124. [
  125. ({ 2h - 6h }, rot_ni),
  126. ({ 6h - 9h }, rot_mo),
  127. ({ 9h - 11h }, rot_F1),
  128. ({ 11h - 14h }, rot_da),
  129. ({ 14h - 16h }, rot_F2),
  130. ({ 16h - 18h }, rot_da),
  131. ({ 18h - 20h }, rot_F3),
  132. ({ 20h - 2h }, rot_ev)
  133. ])
  134. #_______________________________________________________________________
  135. # делаем красивые вхождения. crossfade оставим на будущее, посмотрим на звучание smart_crossfade
  136. radio = crossfade(start_next=1., fade_out=1., fade_in=1., radio)
  137. # запускаем вещалку
  138. out(
  139. %mp3(bitrate = 256, id3v2 = true),
  140. description = "MP3 256 Kbps",
  141. mount = "Radio_for_Forum",
  142. mksafe(radio)
  143. )

Отредактировано nivs - 01.10.2012
0
6245
Тарас @tarasian666
ну а что лог пишет?

0
67
nivs @nivs
tarasian666 пишет:

ну а что лог пишет?

то, что уходит в бланк. Несколько раз перезагрузил компьютер - помогло, но это не очень радует. В следующий раз ещё раз появится - выложу.

0
6245
Тарас @tarasian666
кстате не помню нормально ли понимает это 20h - 2h или это у сэма с этим проблемы были

0
67
nivs @nivs
Нормально понимает, крутится хорошо. Если не трогать... У меня когда-то была такая же проблема, насколько я помню, без перезагрузки справится помогало удаление строки
  1. radio = crossfade(start_next=1., fade_out=1., fade_in=1., radio)

Отредактировано nivs - 02.10.2012
0
67
nivs @nivs
А возможно ли как-то сделать так, чтобы плейлист обновлялся не каждый час, а строго в заданное время? Я про:
  1. mus_ni = playlist (reload = 360, "#{mus_ni_dir}")

0





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

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