Re: liquidsoap
много это сколько?
Первый русскоязычный форум посвященный интернет-радиовещанию
Страницы Назад 1 … 46 47 48 49 50 … 53 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
для нормальной работы сколько рекомендуется оперативы иметь?
незнаю, у меня на сервере гиг, хватает с запасом. Сейчас liquidsoap использует 46мб но без smooth_add.
пишет tarasian666:
использует 46мб.
Я уже все поотключал, жрет скотина
Только начал разбираться с liquidsoap, прочитал статью http://habrahabr.ru/post/156591/ и не совсем понял один момент.
Для того, чтобы закинуть файлы в стрим, нужно обязательно создать плэйлист/плэйлисты? нельзя просто указать папку с музыкой, из файлов которой ликвид сам создаст стрим и отправит на icecast?
пишет tarasian666:
можно просто папку
действительно. Функция playlist работает и с папками. Спасибо
Оттестив скрипт на девелоперской машине и обрадовавшись своему новому инструменту для стриминга, я решил испробовать его в продакшене вместо Mixxx плеера. И тут меня поставила в тупик такая проблема - на vds сервере у меня нет звуковой карты. В Mixxx я использовал asio4all в качестве звукового устройства, что позволяло ему нормально воспроизводить звук на нем и стримить на icecast. Тут же, как я понимаю, liquidsoap стримит используя выбранную в Windows звуковую карту, которой естественно нет на Hyper-V сервере. Ну и при попытке стримить я просто вижу, что на icecast появляется mount point, в которую стримится тишина.
Вот сам скрипт:
out = output.icecast(
host = "127.0.0.1",
port = 8000,
user = "dj",
password = "test",
name = "Test name",
encoding = "UTF-8"
)
wd = "C:/Users/Administrator/Desktop"
pl = "#{wd}/dreamsoundstation"
tech = "#{pl}/technical"
set("log.file.path","#{tech}/liquidsoap.log")
set("log.level", 3)
promo_dir = "#{pl}/promo"
ef = "#{pl}/efir"
ni = "#{ef}/night"
mo = "#{ef}/morning"
da = "#{ef}/daytime"
ev = "#{ef}/evening"
mus_ni_dir = "#{ni}/music"
mus_mo_dir = "#{mo}/music"
mus_da_dir = "#{da}/music"
mus_ev_dir = "#{ev}/music"
jin_ni_dir = "#{ni}/jingles"
jin_mo_dir = "#{mo}/jingles"
jin_da_dir = "#{da}/jingles"
jin_ev_dir = "#{ev}/jingles"
mus_ni = playlist (reload = 360, "#{mus_ni_dir}")
mus_mo = playlist (reload = 360, "#{mus_mo_dir}")
mus_da = playlist (reload = 360, "#{mus_da_dir}")
mus_ev = playlist (reload = 360, "#{mus_ev_dir}")
jin_ni = playlist (reload = 360, "#{jin_ni_dir}")
jin_mo = playlist (reload = 360, "#{jin_mo_dir}")
jin_da = playlist (reload = 360, "#{jin_da_dir}")
jin_ev = playlist (reload = 360, "#{jin_ev_dir}")
promo = playlist (reload = 360, "#{promo_dir}")
ins_ni = rotate (weights = [2, 1], [jin_ni, promo])
ins_mo = rotate (weights = [2, 1], [jin_mo, promo])
ins_da = rotate (weights = [2, 1], [jin_da, promo])
ins_ev = rotate (weights = [2, 1], [jin_ev, promo])
ni = rotate (weights = [3, 1], [mus_ni, ins_ni])
mo = rotate (weights = [3, 1], [mus_mo, ins_mo])
da = rotate (weights = [3, 1], [mus_da, ins_da])
ev = rotate (weights = [3, 1], [mus_ev, ins_ev])
radio = switch (track_sensitive = true,
[
({ 0h - 6h }, ni),
({ 6h - 12h }, mo),
({ 12h - 18h }, da),
({ 18h - 0h }, ev)
])
radio = crossfade(start_next=1., fade_out=1., fade_in=1., radio)
out(
%mp3(bitrate = 320, id3v2 = true),
description = "MP3 320 Kbps",
mount = "main",
mksafe(radio)
)
А вот лог:
2015/06/20 00:47:07 >>> LOG START
2015/06/20 00:47:07 [protocols.external:3] Didn't find "ufetch".
2015/06/20 00:47:07 [protocols.external:3] Didn't find "wget".
2015/06/20 00:47:07 [main:3] Liquidsoap 1.0.1-win32
2015/06/20 00:47:07 [main:3] Using: graphics=[distributed with Ocaml] pcre=0.1.0 dtools=0.3.0 duppy=0.4.2 cry=0.2.2 mm=0.2.0 xmlplaylist=0.1.3 lastfm=0.3.0 ogg=0.4.3 vorbis=0.6.1 speex=0.2.0 mad=0.4.4 flac=0.1.1 flac.ogg=0.1.1 dynlink=[distributed with Ocaml] lame=0.3.1 aacplus=0.2.0 theora=0.3.0 schroedinger=0.1.0 gavl=0.1.4 ao=0.2.0 taglib=0.2.0 camomile=0.8.1 faad=0.3.0 yojson=1.0.2
2015/06/20 00:47:07 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
2015/06/20 00:47:07 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2015/06/20 00:47:07 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2015/06/20 00:47:07 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2015/06/20 00:47:07 [threads:3] Created thread "generic queue #1".
2015/06/20 00:47:07 [threads:3] Created thread "generic queue #2".
2015/06/20 00:47:07 [music:3] Loading playlist...
2015/06/20 00:47:07 [music:3] Playlist is a directory.
2015/06/20 00:47:07 [music:3] Successfully loaded a playlist of 31 tracks.
2015/06/20 00:47:07 [jingles:3] Loading playlist...
2015/06/20 00:47:07 [jingles:3] Playlist is a directory.
2015/06/20 00:47:07 [jingles:3] Got an empty list: keeping the old one.
2015/06/20 00:47:07 [promo:3] Loading playlist...
2015/06/20 00:47:07 [promo:3] Playlist is a directory.
2015/06/20 00:47:07 [promo:3] Got an empty list: keeping the old one.
2015/06/20 00:47:07 [music:3] Loading playlist...
2015/06/20 00:47:07 [music:3] Playlist is a directory.
2015/06/20 00:47:07 [music:3] Successfully loaded a playlist of 20 tracks.
2015/06/20 00:47:07 [jingles:3] Loading playlist...
2015/06/20 00:47:07 [jingles:3] Playlist is a directory.
2015/06/20 00:47:07 [jingles:3] Got an empty list: keeping the old one.
2015/06/20 00:47:07 [music:3] Loading playlist...
2015/06/20 00:47:07 [music:3] Playlist is a directory.
2015/06/20 00:47:07 [music:3] Successfully loaded a playlist of 41 tracks.
2015/06/20 00:47:07 [jingles:3] Loading playlist...
2015/06/20 00:47:07 [jingles:3] Playlist is a directory.
2015/06/20 00:47:07 [jingles:3] Got an empty list: keeping the old one.
2015/06/20 00:47:07 [music:3] Loading playlist...
2015/06/20 00:47:07 [music:3] Playlist is a directory.
2015/06/20 00:47:07 [music:3] Successfully loaded a playlist of 42 tracks.
2015/06/20 00:47:07 [jingles:3] Loading playlist...
2015/06/20 00:47:07 [jingles:3] Playlist is a directory.
2015/06/20 00:47:07 [jingles:3] Got an empty list: keeping the old one.
2015/06/20 00:47:07 [main:3] Connecting mount main for dj@127.0.0.1...
2015/06/20 00:47:07 [decoder:3] Method "MAD" accepted "C:/Users/Administrator/Desktop/dreamsoundstation/efir/evening/music/08 Never Strangers.mp3".
2015/06/20 00:47:07 [decoder:3] Method "MAD" accepted "C:/Users/Administrator/Desktop/dreamsoundstation/efir/daytime/music/07 - Smile when you smile.mp3".
2015/06/20 00:47:07 [decoder:3] Method "MAD" accepted "C:/Users/Administrator/Desktop/dreamsoundstation/efir/morning/music/05 - Pooma - January.mp3".
2015/06/20 00:47:07 [decoder:3] Method "MAD" accepted "C:/Users/Administrator/Desktop/dreamsoundstation/efir/night/music/01 Machine.mp3".
2015/06/20 00:47:07 [main:3] Connection setup was successful.
2015/06/20 00:47:07 [threads:3] Created thread "wallclock_main" (1 total).
2015/06/20 00:47:07 [clock.wallclock_main:3] Streaming loop starts, synchronized with wallclock.
2015/06/20 00:47:07 [mksafe:3] Switch to safe_blank.
2015/06/20 00:55:27 [main:3] Shutdown started!
2015/06/20 00:55:27 [main:3] Waiting for threads to terminate...
2015/06/20 00:55:27 [main:3] Closing connection...
2015/06/20 00:55:27 [clock.wallclock_main:3] Streaming loop stopped.
2015/06/20 00:55:27 [threads:3] Thread "wallclock_main" terminated (0 remaining).
2015/06/20 00:55:27 [main:3] Cleaning downloaded files...
2015/06/20 00:55:27 >>> LOG END
Начал копать в сторону возможности выбора в liquidsoap звукового устройства для воспроизведения, потом способы подружить его с asio4all. Потратив много времени я так и не нашел решения.
Не знаю, возможно, у кого-нибудь будут идеи по решению моей проблемы.
На всякий случай мой вопрос на с.о. http://stackoverflow.com/questions/3097 … er-hyper-v
вообще то ему не нужна звуковая карта для стриминга, так что пролема в другом.
...
2015/06/20 00:47:07 [jingles:3] Got an empty list: keeping the old one.
...
2015/06/20 00:47:07 [mksafe:3] Switch to safe_blank.
какой-то плейлист или правило не срабатывает и включается тишина
пишет tarasian666:
вообще то ему не нужна звуковая карта для стриминга, так что пролема в другом.
...
2015/06/20 00:47:07 [jingles:3] Got an empty list: keeping the old one.
...
2015/06/20 00:47:07 [mksafe:3] Switch to safe_blank.какой-то плейлист или правило не срабатывает и включается тишина
хм. Я посчитал, что он игнорирует несработавшие правила. Как раз таки на продакшене я не заполнил все папки музыкой, посчитав это слишком долгим занятием. Спасибо
боюсь, что дело в другом. Оставил для теста пока что только наполненные музыкой папки. Лог теперь следующий:
2015/06/22 16:13:33 >>> LOG START
2015/06/22 16:13:33 [protocols.external:3] Didn't find "ufetch".
2015/06/22 16:13:33 [protocols.external:3] Didn't find "wget".
2015/06/22 16:13:33 [main:3] Liquidsoap 1.0.1-win32
2015/06/22 16:13:33 [main:3] Using: graphics=[distributed with Ocaml] pcre=0.1.0 dtools=0.3.0 duppy=0.4.2 cry=0.2.2 mm=0.2.0 xmlplaylist=0.1.3 lastfm=0.3.0 ogg=0.4.3 vorbis=0.6.1 speex=0.2.0 mad=0.4.4 flac=0.1.1 flac.ogg=0.1.1 dynlink=[distributed with Ocaml] lame=0.3.1 aacplus=0.2.0 theora=0.3.0 schroedinger=0.1.0 gavl=0.1.4 ao=0.2.0 taglib=0.2.0 camomile=0.8.1 faad=0.3.0 yojson=1.0.2
2015/06/22 16:13:33 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
2015/06/22 16:13:33 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2015/06/22 16:13:33 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2015/06/22 16:13:33 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2015/06/22 16:13:33 [threads:3] Created thread "generic queue #1".
2015/06/22 16:13:33 [threads:3] Created thread "generic queue #2".
2015/06/22 16:13:33 [music:3] Loading playlist...
2015/06/22 16:13:33 [music:3] Playlist is a directory.
2015/06/22 16:13:33 [music:3] Successfully loaded a playlist of 31 tracks.
2015/06/22 16:13:33 [music:3] Loading playlist...
2015/06/22 16:13:33 [music:3] Playlist is a directory.
2015/06/22 16:13:33 [music:3] Successfully loaded a playlist of 20 tracks.
2015/06/22 16:13:33 [music:3] Loading playlist...
2015/06/22 16:13:33 [music:3] Playlist is a directory.
2015/06/22 16:13:33 [music:3] Successfully loaded a playlist of 41 tracks.
2015/06/22 16:13:33 [music:3] Loading playlist...
2015/06/22 16:13:33 [music:3] Playlist is a directory.
2015/06/22 16:13:33 [music:3] Successfully loaded a playlist of 42 tracks.
2015/06/22 16:13:33 [main:3] Connecting mount main for dj@127.0.0.1...
2015/06/22 16:13:33 [decoder:3] Method "MAD" accepted "C:/Users/Administrator/Desktop/dreamsoundstation/efir/evening/music/07 Lingonberry.mp3".
2015/06/22 16:13:33 [decoder:3] Method "MAD" accepted "C:/Users/Administrator/Desktop/dreamsoundstation/efir/morning/music/01 - Pooma - If May Starts Tomorrow.mp3".
2015/06/22 16:13:33 [decoder:3] Method "MAD" accepted "C:/Users/Administrator/Desktop/dreamsoundstation/efir/night/music/05 Fjords.mp3".
2015/06/22 16:13:33 [decoder:3] Method "MAD" accepted "C:/Users/Administrator/Desktop/dreamsoundstation/efir/daytime/music/09 - Exploding head.mp3".
2015/06/22 16:13:33 [main:3] Connection setup was successful.
2015/06/22 16:13:33 [threads:3] Created thread "wallclock_main" (1 total).
2015/06/22 16:13:33 [clock.wallclock_main:3] Streaming loop starts, synchronized with wallclock.
2015/06/22 16:13:33 [mksafe:3] Switch to safe_blank.
и все также
2015/06/22 16:13:33 [mksafe:3] Switch to safe_blank.
по непонятной мне причине
это еще что?
2015/06/22 16:13:33 [protocols.external:3] Didn't find "ufetch".
2015/06/22 16:13:33 [protocols.external:3] Didn't find "wget".
попробуйте сначала по минимуму запустить, например один плейлист без всяких правил и потом наращивать чтоб узнать в чем причина
OpenSuse 13.2 x64
./configure --with-user=user --with-group=users
checking for a BSD-compatible install... /usr/bin/install -c
checking that calling user is not root... configure: error: configure script must not be run with root user!
как исправить? от другого пользователя user пишит что прав нету, вторичная группа root не помогает.
Отредактировано isatokun90 (22-06-2015 18:30:56)
Читать не умеете? Когда собираем - root только на последнем этапе.
2015/06/28 01:14:57 >>> LOG START
2015/06/28 01:14:57 [protocols.external:3] Didn't find "ufetch".
2015/06/28 01:14:57 [protocols.external:3] Found "/usr/bin/wget".
2015/06/28 01:14:57 [main:3] Liquidsoap 1.0.1
2015/06/28 01:14:57 [main:3] Using: graphics=[distributed with Ocaml] pcre=6.2.5 dtools=0.3.0 duppy=0.4.2 duppy.syntax=0.4.2 cry=0.2.2 mm=0.2.0 xmlplaylist=0.1.3 lastfm=0.3.0 ogg=0.4.3 vorbis=0.6.1 speex=0.2.0 mad=0.4.4 flac=0.1.1 flac.ogg=0.1.1 dynlink=[distributed with Ocaml] lame=0.3.1 gstreamer=0.1.0 voaacenc=0.1.0 theora=0.3.0 schroedinger=0.1.0 gavl=0.1.4 bjack=0.1.3 alsa=0.2.1 ao=0.2.0 samplerate=0.1.1 taglib=0.2.0 magic=0.7.3 camomile=0.8.4 faad=0.3.0 soundtouch=0.1.7 portaudio=0.2.0 pulseaudio=0.1.2 ladspa=0.1.4 dssi=0.1.0 sdl=0.9.0 camlimages=4.0.0 lo=0.1.0 yojson=1.0.3 gd=1.0a5
2015/06/28 01:14:57 [dynamic.loader:3] Loaded dynamic aacplus encoder from /usr/lib/ocaml/aacplus
2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/flac.cmxs.
2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/cry.cmxs.
2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/voaacenc.cmxs.
2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/mad.cmxs.
2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/faad.cmxs.
2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/pulseaudio.cmxs.
2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/lame.cmxs.
2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/ogg.cmxs.
2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/taglib.cmxs.
2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/vorbis.cmxs.
2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/flac_ogg.cmxs.
2015/06/28 01:14:57 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
2015/06/28 01:14:57 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2015/06/28 01:14:57 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2015/06/28 01:14:57 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2015/06/28 01:14:57 [decoder:3] Method "MAD" accepted "/home/radio/music/jingls/02.mp3".
2015/06/28 01:14:57 [single:3] "/home/radio/music/jingls/02.mp3" is static, resolving once for all...
Подскажите пожалуйста!
Что хочет от меня ошибок не выдает в конфиге!
#!/etc/liquidsoap -d
set("init.daemon",true)
set("init.daemon.pidfile",false)
set("log.file.path","/var/log/liquidsoap/basic.log")
set("log.stdout",true)
set("log.level",3)
pathToSocket="/etc/liquidsoap/liquidsoap.pid";
set("server.socket",true);
set("server.socket.path",pathToSocket);
set("server.socket.permissions",511)
def crossfade_live(a,b)
add(normalize=false,
[ sequence([ blank(duration=6.),
fade.initial(duration=10.,b) ]),
fade.final(duration=8.,a) ])
end
def transition(j,a,b)
add(normalize=false,
[ fade.initial(b),
sequence(merge=true,
[blank(duration=1.),j,fallback([])]),
fade.final(a) ])
end
def get_djsilere() =
uri = get_process_output("php /home/radio/scripts/request.php /home/radio/music/djsilere") # К запросу добавили имя папки с радиошоу
print("next track: #{uri}")
request.create(uri)
end
def get_alexnegniy() =
uri = get_process_output("php /home/radio/scripts/request.php /home/radio/music/alexnegniy") # К запросу добавили имя папки с радиошоу
print("next track: #{uri}")
request.create(uri)
end
myplaylist = mksafe(playlist(reload=360, '/home/radio/music/nonstop/'))
radio = myplaylist
radio = mksafe(radio)
djsilere = request.dynamic(id="djsilere",length=10.,get_djsilere)
alexnegniy = request.dynamic(id="alexnegniy",length=10.,get_alexnegniy)
jingle = single("/home/radio/music/jingls/02.mp3") # Джингл
radio = switch([ ({0h-20h and 22h-23h}, radio), ({3w1h25m-3w2h25m}, djsilere), ({4w21h-4w22h}, alexnegniy) ])
radio = smart_crossfade(start_next=3.,fade_out=2.,fade_in=2.,width=2.,conservative=false,radio)
url = "http://localhost:8000/live"
input = mksafe(input.http(url))
out = fallback(track_sensitive=false, transitions=[ crossfade_live, transition(jingle) ],[input, radio])
out = fallback(track_sensitive=false,[strip_blank(length=10.,threshold=-50.,radio) , out ]) # На случай тишины в эфире
output.icecast(%mp3(bitrate=256, samplerate = 44100, stereo = true),
host = "localhost",
port = 8000,
name="EDM Radio 256 Kbit/s",
genre="Elecrtonic",
url="http://edmradio.ru/",
description="Electronic Dance Music Radio",
password = "hackme",
mount = "/autodj",
out)
Друзья и коллеги!
Прошу на мой взгляд простой помощи, возможно и не очень! Сам никак не могу разобраться!
Мне необходим скрипт *.liq
задача такая :
4 mount icecast
debian 8
музыка будет размещена на сервере допустим /home/music
для каждого mount в отдельной папке
music - dance
|
-rock
итп
будут заранее сделанные плейлисты сохраненные в m3u
в каждой строчке указан путь к трэку, там же будут джинглы и прочее!
-----
ну и соответственно будут играть эти плейлисты! и только, можно и сделать резервный поток
потоки хотелось бы в mp3 128
Плиз ХЭЛП!
пишет djgelius:
2015/06/28 01:14:57 >>> LOG START 2015/06/28 01:14:57 [protocols.external:3] Didn't find "ufetch". 2015/06/28 01:14:57 [protocols.external:3] Found "/usr/bin/wget". 2015/06/28 01:14:57 [main:3] Liquidsoap 1.0.1 2015/06/28 01:14:57 [main:3] Using: graphics=[distributed with Ocaml] pcre=6.2.5 dtools=0.3.0 duppy=0.4.2 duppy.syntax=0.4.2 cry=0.2.2 mm=0.2.0 xmlplaylist=0.1.3 lastfm=0.3.0 ogg=0.4.3 vorbis=0.6.1 speex=0.2.0 mad=0.4.4 flac=0.1.1 flac.ogg=0.1.1 dynlink=[distributed with Ocaml] lame=0.3.1 gstreamer=0.1.0 voaacenc=0.1.0 theora=0.3.0 schroedinger=0.1.0 gavl=0.1.4 bjack=0.1.3 alsa=0.2.1 ao=0.2.0 samplerate=0.1.1 taglib=0.2.0 magic=0.7.3 camomile=0.8.4 faad=0.3.0 soundtouch=0.1.7 portaudio=0.2.0 pulseaudio=0.1.2 ladspa=0.1.4 dssi=0.1.0 sdl=0.9.0 camlimages=4.0.0 lo=0.1.0 yojson=1.0.3 gd=1.0a5 2015/06/28 01:14:57 [dynamic.loader:3] Loaded dynamic aacplus encoder from /usr/lib/ocaml/aacplus 2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/flac.cmxs. 2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/cry.cmxs. 2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/voaacenc.cmxs. 2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/mad.cmxs. 2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/faad.cmxs. 2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/pulseaudio.cmxs. 2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/lame.cmxs. 2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/ogg.cmxs. 2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/taglib.cmxs. 2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/vorbis.cmxs. 2015/06/28 01:14:57 [dynamic.loader:2] Loaded plugin file /usr/lib/liquidsoap/1.0.1/plugins/flac_ogg.cmxs. 2015/06/28 01:14:57 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master. 2015/06/28 01:14:57 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples. 2015/06/28 01:14:57 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks. 2015/06/28 01:14:57 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks. 2015/06/28 01:14:57 [decoder:3] Method "MAD" accepted "/home/radio/music/jingls/02.mp3". 2015/06/28 01:14:57 [single:3] "/home/radio/music/jingls/02.mp3" is static, resolving once for all...
Подскажите пожалуйста!
Что хочет от меня ошибок не выдает в конфиге!#!/etc/liquidsoap -d set("init.daemon",true) set("init.daemon.pidfile",false) set("log.file.path","/var/log/liquidsoap/basic.log") set("log.stdout",true) set("log.level",3) pathToSocket="/etc/liquidsoap/liquidsoap.pid"; set("server.socket",true); set("server.socket.path",pathToSocket); set("server.socket.permissions",511) def crossfade_live(a,b) add(normalize=false, [ sequence([ blank(duration=6.), fade.initial(duration=10.,b) ]), fade.final(duration=8.,a) ]) end def transition(j,a,b) add(normalize=false, [ fade.initial(b), sequence(merge=true, [blank(duration=1.),j,fallback([])]), fade.final(a) ]) end def get_djsilere() = uri = get_process_output("php /home/radio/scripts/request.php /home/radio/music/djsilere") # К запросу добавили имя папки с радиошоу print("next track: #{uri}") request.create(uri) end def get_alexnegniy() = uri = get_process_output("php /home/radio/scripts/request.php /home/radio/music/alexnegniy") # К запросу добавили имя папки с радиошоу print("next track: #{uri}") request.create(uri) end myplaylist = mksafe(playlist(reload=360, '/home/radio/music/nonstop/')) radio = myplaylist radio = mksafe(radio) djsilere = request.dynamic(id="djsilere",length=10.,get_djsilere) alexnegniy = request.dynamic(id="alexnegniy",length=10.,get_alexnegniy) jingle = single("/home/radio/music/jingls/02.mp3") # Джингл radio = switch([ ({0h-20h and 22h-23h}, radio), ({3w1h25m-3w2h25m}, djsilere), ({4w21h-4w22h}, alexnegniy) ]) radio = smart_crossfade(start_next=3.,fade_out=2.,fade_in=2.,width=2.,conservative=false,radio) url = "http://localhost:8000/live" input = mksafe(input.http(url)) out = fallback(track_sensitive=false, transitions=[ crossfade_live, transition(jingle) ],[input, radio]) out = fallback(track_sensitive=false,[strip_blank(length=10.,threshold=-50.,radio) , out ]) # На случай тишины в эфире output.icecast(%mp3(bitrate=256, samplerate = 44100, stereo = true), host = "localhost", port = 8000, name="EDM Radio 256 Kbit/s", genre="Elecrtonic", url="http://edmradio.ru/", description="Electronic Dance Music Radio", password = "hackme", mount = "/autodj", out)
А в чем, собственно, дело? Я из неприятного вижу только это:
Didn't find "ufetch".
Вам бы log.level до 4 увеличить, например. Тогда будет понятнее, что там к чему.
Отредактировано Ok_go_love (10-07-2015 06:54:32)
На Debian Jessie в Stable репозитории багованная либа libmp3lame0, посему не советую.
Отредактировано Ok_go_love (12-07-2015 01:16:04)
Плейлист генерируется php скриптом, запрос происходит через request.dynamic. Проблема в том, что liquidsoap играет только первый трек в списке
Пример плейлиста
Artist - Title 1.mp3 Artist - Title 2.mp3 Artist - Title 3.mp3 и т. д.
request.dynamic запрашивает только 1 трек который должен играть следующим, а скрипт у вас генериреут статический плейлист
есть варианты чтоб не по одному треку скармливать, а большим количеством с помощью скрипта?
впихать в queue через telnet
или
генерировать плейлист в файл который liquidsoap будет читать обычным способом
пишет djmarkus:
помогите пожалуйста
на самом деле там нет ничего сложного, надо просто почитать инструкцию, сделать простой стрим и скопипастить его несколько раз переименовывая плейлист и маунт. Или сделать несколько конфигов по 1 стриму, так может даже лучше, в случае если упадет 1 стрим то не потянет все остальные за собой.
Страницы Назад 1 … 46 47 48 49 50 … 53 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться