Re: liquidsoap
Дам подсказку - вы не внимательны
Первый русскоязычный форум посвященный интернет-радиовещанию
Страницы Назад 1 … 33 34 35 36 37 … 53 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
#!/usr/local/bin/liquidsoap это строка всего лиш означает кому отдать скрипт
или с помощью какой библиотеки запустить.
запятые спс а * это чтобы поддериктории включить в плейлист
а ошибка на
radio = fallback([live,radion])
а * это чтобы поддериктории включить в плейлист
это необязательно, liquidsoap и так поймет
по фолбеку - http://comments.gmane.org/gmane.comp.au … .user/2597
#!/usr/local/bin/liquidsoap -d
# Log dir
set("log.file.path","/home/taras/ls/basic.log")
set("init.daemon",true)
set("init.daemon.pidfile",false)
set("server.telnet",true)
set("log.stdout",false)
set("harbor.bind_addr","0.0.0.0")
live = input.harbor("live",port=9000,password="****")
def crossfade2(a,b)
add(normalize=false,
[ sequence([ blank(duration=5.),
fade.initial(duration=10.,b) ]),
fade.final(duration=10.,a) ])
end
def my_request_function() =
# Get the first line of my external process
log = log(label="rotator")
log("Getting song")
result =
list.hd(
get_process_lines("/home/taras/ls/rotator.pl"))
log("Got answer: #{result}")
# Create and return a request using this result
request.create(result)
end
def lastfm(m) =
log = log(label="LastFM")
log("#{m['artist']} - #{m['title']}")
system("/home/taras/ls/lastfm.py #{quote(m['artist'])} #{quote(m['title'])} 300 & >/dev/null")
end
def queue_upd(m) =
log = log(label="Queue")
log("Queue update")
system("/home/taras/ls/queue-history.pl & >/dev/null")
end
myplaylist = request.dynamic(my_request_function)
queue = request.queue(id="queue", length=0.5)
myplaylist = mksafe(fallback([queue, myplaylist]))
myplaylist = compress(gain=3.,ratio=2.,threshold=-15.,myplaylist)
list = crossfade(start_next=5.,fade_out=3.,fade_in=1.,myplaylist)
radio = mksafe(fallback(track_sensitive=false, transitions=[crossfade2],[live, list]))
radio = on_metadata(queue_upd, radio)
radio = on_metadata(lastfm, radio)
radio = register_flow(
radio="Dead Radio",
website="http://deadradio.org.ua",
description="",
genre="Black Metal",
streams=[("mp3/256k","http://deadradio.org.ua:666/;stream.nsv")],
radio)
output.shoutcast(%mp3(stereo=true, samplerate=44100, bitrate=256),
id="stream",
fallible = true,
icy_metadata="true",
icq="400055993",
format="audio/mpeg",
public=true,
host="deadradio.org.ua",
port=3214,
password="*****",
name="Dead Radio",
genre="Black metal",
url="http://deadradio.org.ua",
radio)
расскажите как сделать после отключения харбора включался джингл а потом обычный плейлист
Ubuntu 12.04
Поставил liquidsoap из репозитариев, apt-get install liqudsoap
Запускается без ошибок, однако лог файл не создает и собственно ничего не происходит
запускаю через
su -c "/usr/bin/liquidsoap /usr/home/liquidsoap/transcoding" liquidsoap
На файл transcoding назначены права 755 и владелец liquidsoap
Как проверить работоспособность?
Как проверить с какими параметрами он может работать?
попробуйте залогиниться под пользователем liqudsoap и тогда запустить
можете еще включить "stdout true"
Снес, собрал из исходников - завелось. Конфигурируйте с параметрами
./configure --with-user=user --with-group=users и все будет хорошо
при запуске ошибка
at line 15, char 52:
this value has type
source(_) (inferred at /usr/local/lib/liquidsoap/scm/utils.liq, line 639 char 11 - line 651 char 13)
but it should be a subtype of (the type of the value at line 15, char 45)
(?auth:_,?buffer:_,?debug:_,?dumpfile:_,?icy:_,?icy_metadata_charset:_,
?logfile:_,?max:_,?metadata_charset:_,?on_connect:_,?on_disconnect:_,
?timeout:_,?user:_,_)->_ (inferred at line 5, char 18-55)
скрипт по традиции на http://pastebin.com/vvvcQTEw pastebin
версия:
Liquidsoap 1.1.1+scm (git://github.com/savonet/liquidsoap.git@50a336bca7772731be006452cdc01115d42fdf56:20130702:004058)
да действительно я невнимательный почти всё настроил остались часовые отбивки( в городе hh часов)hh естественно реальное время и джингл после ухода с harbor! дайте совет как это реализовать
Отредактировано kino (15-07-2013 02:49:12)
Пытаюсь собрать, не дает конфигурировать ,пишет "configure: error: configure script must not be run with root user!" По ходу топика так и не понял как решить проблему
Собирайте под другой учеткой, не от рута
Сделал просто пользователя, зашел из под него, никаких папок, ничего нету, команды незя делать. Сопутствующий вопрос, как настроить права?
С горем пополам с этим расправился
Теперь вот такое :
make[3]: Leaving directory `/home/noroot/liquidsoap-full/ocaml-vorbis/src'
make[2]: Leaving directory `/home/noroot/liquidsoap-full/ocaml-vorbis/src'
make[1]: Leaving directory `/home/noroot/liquidsoap-full/ocaml-vorbis'
make[1]: Entering directory `/home/noroot/liquidsoap-full/ocaml-voaacenc'
make[1]: *** No targets specified and no makefile found. Stop.
make[1]: Leaving directory `/home/noroot/liquidsoap-full/ocaml-voaacenc'
make: *** [all] Error 1
При попытке установить вот такое
apt-get install ocaml-voaacenc
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package ocaml-voaacenc
Что делать? Я так уже заманался с установкой этой параши
для начала выложите лог немного повыше, там где пишет error а не Leaving directory так как это уже последствия ошибки
Попробовал еще раз ./configurate
****** Configuring ocaml-voaacenc
./configure --with-cry-dir=../ocaml-cry/src --with-ao-dir=../ocaml-ao/src --with-portaudio-dir=../ocaml-portaudio/src --with-alsa-dir=../ocaml-alsa/src --with-pulseaudio-dir=../ocaml-pulseaudio/src --with-mad-dir=../ocaml-mad/src --with-taglib-dir=../ocaml-taglib/src --with-lame-dir=../ocaml-lame/src --with-ogg-dir=../ocaml-ogg/src --with-vorbis-dir=../ocaml-vorbis/src --with-voaacenc-dir=../ocaml-voaacenc/src
configure: WARNING: unrecognized options: --with-cry-dir, --with-ao-dir, --with-portaudio-dir, --with-alsa-dir, --with-pulseaudio-dir, --with-mad-dir, --with-taglib-dir, --with-lame-dir, --with-ogg-dir, --with-vorbis-dir, --with-voaacenc-dir
configuring ocaml-voaacenc 0.1.0
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking that calling user is not root... ok
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for ar... ar
checking for ocamlc... ocamlc
OCaml version is 3.11.2
checking if ocaml compiler supports first-class modules... no
OCaml library path is /usr/lib/ocaml
checking for ocamlopt... ocamlopt
checking for ocamlc.opt... no
checking for ocamlopt.opt... no
checking for ocaml... ocaml
checking for ocamldep... ocamldep
checking for ocamldep.opt... no
checking for ocamlmktop... ocamlmktop
checking for ocamlmklib... ocamlmklib
checking for ocamldoc... ocamldoc
checking for ocamldoc.opt... no
checking for ocamlbuild... ocamlbuild
checking for camlidl... camlidl
checking for ocamllex... ocamllex
checking for ocamllex.opt... no
checking for ocamlyacc... ocamlyacc
checking for camlp4... camlp4
checking for camlp4boot... no
checking for camlp4o... camlp4o
checking for camlp4of... no
checking for camlp4oof... no
checking for camlp4orf... no
checking for camlp4prof... no
checking for camlp4r... camlp4r
checking for camlp4rf... no
checking for ocamlfind... ocamlfind
checking for ocaml standard library path... /usr/lib/ocaml
checking for caml/threads.h... no
checking for gcc option to produce PIC... -fPIC
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether pkg-config knows about vo-aacenc >= 0.1.0... configure: error: vo-aacenc.pc not found.. Do you need to set PKG_CONFIG_PATH?
Я так понял у меня не установлен vo-aacenc.pc, но как его установить?
http://packages.debian.org/sid/libvoaacenc-ocaml-dev
http://packages.debian.org/sid/libvo-aacenc-dev
но зачем он вам? Может вам нужен aac+ ? Так это не от )
пишет tarasian666:
но зачем он вам? Может вам нужен aac+ ? Так это не от )
да нужен он)
Доброго времени суток.
Имеется такой расклад:
1. папка nonstop которая играет всегда, если не задано ничего в расписании.
2. папка classica которая играет с 15 до 18 по будням
3. есть папки диджеев, в которые они через фтп заливают сеты - один файл(часовые или двух часовые)
4. и есть ретрансляция с другого радио
Все отлично работает в заданное время. Но есть проблема:
tr_sched = fallback(track_sensitive = false,
[tr_life, switch(track_sensitive = false, [
({ 0w10h-0w12h }, tr_dj_noname),
({ 0w12h-0w13h }, tr_dj_noname2),
и т.д.
({ true }, tr_nonstop2)
])])
Суть проблемы как раз в track_sensitive - все отлично работает пока не приходит время сета от диджея! Сет должен заиграть в ровно обозначенное время. Это работат! Но вот сет может идти как 59 минут так и 1 час 2 минуты! То есть он либо не доиграет до конца, оборвется и начнет играть dj noname2 либо же начнет играть заново пока не начнется сет dj noname2.
Если поставить track_sensitive = true - то сет не начнется во время, трек может начаться в 9.59 и закончится в 10.06 - это не приемлимо! А так же не спасает нас от того, что сет закончится раньше!
Подскажите, как решить проблемы с очередью и временем в расписании???
Диджеев много. Играют вечером. Повторы идут утром (днем). На каждый день недели свои диджеи. У некоторых сеты раз в месяц (тоже не знаю как решить, просто комментирую строку).
это пока нерешаемая задача если использовать только switch и fallback
может добавлять в queue внешним скриптом, а в queue будет висеть пока не проиграет
пишет tarasian666:
это пока нерешаемая задача если использовать только switch и fallback
может добавлять в queue внешним скриптом, а в queue будет висеть пока не проиграет
А можно поточнее, как это реализовать на примере.
суть наверно обьединить tr_dj_noname и tr_dj_noname2 и остальных в один queue-плейлист,
примерно так
tr_sched = fallback(track_sensitive = false,
[tr_life, switch(track_sensitive = false, [
({ 0w10h-0w12h }, tr_djs_queue),
({ true }, tr_nonstop2)
])])
и плейлист либо генерировать, если название треков менятся, и в liquidsoap незабыть поставить обновление этого плейлиста, либо через telnet добавить в queue все необходимые треки диджеев в нужное время (0w10h-0w12h )
tr_djs_queue = request.queue(id="request")
tr_sched = fallback(track_sensitive = false,
[tr_life, switch(track_sensitive = false, [
({ 0w10h-0w12h }, tr_djs_queue),
({ true }, tr_nonstop2)
])])
пишет tarasian666:
суть наверно обьединить tr_dj_noname и tr_dj_noname2 и остальных в один queue-плейлист,
примерно так
tr_sched = fallback(track_sensitive = false, [tr_life, switch(track_sensitive = false, [ ({ 0w10h-0w12h }, tr_djs_queue), ({ true }, tr_nonstop2) ])])
и плейлист либо генерировать, если название треков менятся, и в liquidsoap незабыть поставить обновление этого плейлиста, либо через telnet добавить в queue все необходимые треки диджеев в нужное время (0w10h-0w12h )
tr_djs_queue = request.queue(id="request") tr_sched = fallback(track_sensitive = false, [tr_life, switch(track_sensitive = false, [ ({ 0w10h-0w12h }, tr_djs_queue), ({ true }, tr_nonstop2) ])])
Название треков меняется. Как генерировать плейлист из папок нужных диджеев, подскажите? И поставить обновление этого плейлиста как?
Уж очень нужно решение этой проблемы.
Страницы Назад 1 … 33 34 35 36 37 … 53 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться