2015-08-08 5 views
1

Поэтому у меня есть экземпляр Liquidsoap, с входом порта на порт 8080.Liquidsoap записи все файлы в папке Output

То, что я хотел бы, чтобы произошло это всякий раз, когда кто-то подключается к/жить, то поток записанных и сохраненных на сервере.

Это прекрасно работает, если, например, я записываю, а затем отключаю и разрешаю плей-лист, когда я пытаюсь снова запустить его, он создает новый файл, но начинает писать как новый файл, так и предыдущий запись.

Это в основном над написанием первого файла. Единственный способ, которым этого не происходит, - это то, что у жидкого сальника есть перезапуск между двумя передачами.

Вот копия моего файла жика:

#!/usr/bin/liquidsoap 

# Don't create a pidfile 
#set("init.daemon.pidfile",false) 

# Create Log File 
set("log.file.path","/tmp/ls-log.log") 
set("log.file.perms",755) 
set("log.unix_timestamps",true) 

# DJ or Metadata IP Address 
set("harbor.bind_addr","0.0.0.0") 

# Port/Pass for Live DJs 
live = input.harbor(id="live",port=8080,password="xxxxxx", "live") 

# Find /home/music/ -type f -name "*.mp3" > /etc/liquidsoap/music.m3u 

# Path to playlist file which contains a list of local mp3's (/home/user/mp3/song.mp3) 
playlist = playlist("./home/taskone/stream/playlists/dubstep/playlist.txt") 

# Path to backup track if other streams fail 
backup = single("./home/taskone/stream/backups/dubstep/Task One - Studio Sessions.mp3") 

# Do not monitor for radio silence and also specify the expected play order 
radio = fallback(track_sensitive=false,[live, playlist, backup]) 

# Function to manually change song title 
title = insert_metadata(radio) 
insert = fst(title) 
radio = snd(title) 

def set_meta(~protocol,~data,~headers,uri) = 
title = url.split(uri) 
meta = metadata.export(snd(title)) 
show_title = meta["title"] 

ret = if meta != [] then insert(meta) "Title Updated - #{show_title}" else "No metadata to add!" end 
http_response(protocol=protocol,code=200,headers=[("Content-Type","text/html")],data="<html><body><b>#{ret}</b></body></html>") end 

# Port to register metadata updates via http 
harbor.http.register(port=8080,method="GET","/setmeta",set_meta) 


# dump live_dj recordings to a file 
timestamp = '%d-%m-%Y' 
show_title = 'XXXXXXX' 
output.file(%mp3(bitrate=320, id3v2=true), reopen_on_metadata=false, "/var/www/html/recorded_shows/#{show_title} Recorded On #{timestamp}.mp3", live, fallible=true) 

# Output to an Icecast Server 
output.icecast(
    %mp3(bitrate=192), 
    mount="/stream", 
    host="localhost", port=8000, password="XXXXXXXX", 
    radio) 

ответ

0

просто задал себе тот же вопрос, настраиваемый подобное решение. В моем случае я выбрал простой (только?) Способ. Добавление времени к имени файла, чтобы не было конфликта в случае нескольких живых сеансов в тот же день (20170323143928)

timestamp = '%Y%m%d%H%M%S' 
Смежные вопросы