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

liquidsoap

 

6245
Тарас @tarasian666
таким методом врядли

67
nivs @nivs
Нет, я про вообще, любой способ подойдёт. Не категорично, но мало ли пользовались и знаете.

6245
Тарас @tarasian666
ну я вообще использую внешние скрипты для построения плейлиста

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

67
nivs @nivs
У меня тоже внешний скрипт строит плейлисты по крону за 2 часа до нужного времени, а liquidsoap перечитывает их каждый час. Просто интересно - возможно ли такое, что во время проигрывания lanch = playlist (reload = 360, "#{lanch_pl}", mode = "normal"), который длится 2 часа, liquidsoap перезагрузит его?

6245
Тарас @tarasian666
а не проще в нужное время сделать switch ?
а то я что то не понимаю суть проблемы

67
nivs @nivs
switch делается ...
spletni = playlist (reload = 360, "#{spletni_pl}", mode = "normal")
obama = playlist (reload = 360, "#{obama_pl}", mode = "normal")
pcheli = playlist (reload = 360, "#{pcheli_pl}", mode = "normal")
lanch = playlist (reload = 360, "#{lanch_pl}", mode = "normal")
...
radio = switch (track_sensitive = true,
[
....
({ (1w21h - 1w22h) or (3w21h - 3w22h) or (5w21h - 5w22h)}, spletni),
({ (1w18h - 1w19h) or (3w18h - 3w19h) or (4w18h - 4w19h) or (5w18h - 5w19h)}, obama),
({ (2w21h - 2w23h) or (6w21h - 6w23h)}, pcheli),
({ (1w19h - 1w20h) or (4w21h - 4w22h)}, lanch)
])
...
Но меня беспокоит, как бы reload не сработал во время проигрывания плейлиста({ (2w21h - 2w23h) or (6w21h - 6w23h)}, pcheli),Хотя я вот так сейчас подумал... Скорее всего там защита стоит от такого конфуза.

Отредактировано nivs - 23.10.2012
89
Azat @azatxaker
А зачем защита? Релоад для того и нужен, чтобы обновлять плейлист. И то, что он сейчас играет - это не помеха для него. Естественно, он не остановит текущий трек и резко не перескочит на первый, просто добавятся/удалятся некоторые треки.

6245
Тарас @tarasian666
я думаю речь идет о моменте когда плейлист создается и считывается одновременно, от чего может получится что он будет либо пустой либо не будет доступа к нему - результат switch to safe blank

89
Azat @azatxaker
А, ну тогда уж, наверное, точно защита какая-нибудь есть.

67
nivs @nivs
Речь идёт о проигрывании специальносформированного плейлиста по порядку. К примеру, есть плейлист1.mp3
2.mp3
3.mp3
4.mp3
5.mp3
6.mp3
7.mp3
И вот проигралось первые 5 песен, а плейлист взял и перезагрузился - и проигрывание пошло снова с 1.mp3

6245
Тарас @tarasian666
Нет оно будет идти по порядку дальше. Проверял с папкой подкидывая или удаляя файлы, перезагрузка просто пересматривала папку, а играло по порядку в зависимости от имени файла

67
nivs @nivs
Замечательно, спасибо :)

67
nivs @nivs
Написал статью про эту программу, ********** , tarasian666, огромное отдельное спасибо за помощь :)

Отредактировано nivs - 30.10.2012
67
nivs @nivs
tarasian666, планирую серьёзно заняться созданием внешнего интерфейса. Пока что задумывается он как гуй на PyQT для telnet/SSH интерфейса. Где можно почитать о возможностях использования команд Telnet/SSH, кроме как на официальном сайте и, собственно, самого help COMMAND?

6245
Тарас @tarasian666
Больше нигде не находил инфы о нем
А чем этот гуи будет отличаться от существующего?

67
nivs @nivs
Жаль.
В основном тем, что он будет написан при участии меня. Я лишь очень поверхностно знаком с внешним влиянием на liquidsoap, поэтому ещё точно не знаю, что будет в итоге получено. Кроме того, я слабо представляю, что такое request.* , работа предстоит большая, но, мне кажется, это лучший способ ещё более разобраться с liquidsoap. Какая-никакая документация есть, liguidsoap написан на Python, из AirTime можно выдрать части конфигурации (боже, храни GPL), желание есть, будем пытаться :) Планирую сначала написать некий API на Python 2.7, чтобы потом не только в PyQT графику делать, но и в WEB интегрировать. В общем, сначала надо научиться использовать telnet-доступ, остальное всё потом. Вот и ищу информацию по этому.

89
Azat @azatxaker
Просто зайдите по telnet на сервер и введите help (вроде). Дальше все само-собой поймется. Я так и изучил.

6245
Тарас @tarasian666
для веб не надо писать никакой api тем более на python, этим api и есть telnet

67
nivs @nivs
azatxaker, для этого необходимо конфиг некоторым образом править. А каким - пока не знаю. А команда - help [<command>]
tarasian666, да, я подозревал это, поглядим, чем дело закончится. Скорее всего да, просто подробной документации хватит, посмотрим.

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