MainRadiotalkCustom
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

liquidsoap playlist

 

28
blade-mscl @blade-mscl
Реюят всем мир.
Разбираюсь с liquidsoap. Вещь достойная.
Возник вопрос:
подскажите как оформить на скриптовом языке liquidsoap такой алгоритм:
1. взять плейлист (очередь) из скрипта playlist.php
2. проигрывать полученные запиши одна за другой
3. при окончании очередь опять обратиться к скрипту за новой порцией миксов

читал ********** проблема решается [mono]request.dynamic, request.queue and request.equeue[/mono], но я сколько не экспериментировал, получается скормить только одну запись

выдача скрипта в следующей форме:
[mono]/home/vsx/mixes/1.mp3
/home/vsx/mixes/2.mp3
/home/vsx/mixes/3.mp3
/home/vsx/mixes/4.mp3[/mono]

низкий поклон тому кто поможет

Отредактировано blade-mscl - 28.10.2011
6245
Тарас @tarasian666
я делал что скрипт возвращает по 1 треку каждый раз и по окончании трека liquidsoap опять дергает скрипт, а уже что и в каком порядке играть определяет скрипт

myplaylist = request.dynamic({request.create("bar:foo", indicators=get_process_lines("/home/taras/ls/playlist2.pl"))})

28
alexgard @alexgard
tarasian666 пишет:

я делал что скрипт возвращает по 1 треку каждый раз и по окончании трека liquidsoap опять дергает скрипт, а уже что и в каком порядке играть определяет скрипт

myplaylist = request.dynamic({request.create("bar:foo", indicators=get_process_lines("/home/taras/ls/playlist2.pl"))})


Подскажите пожалуйста, что означает bar:foo? Из-за этого вылетает ошибка...... Вместо perl, можно использовать php?

Мне нужно сделать тоже самое что и Вы, но на php! Можете подробней рассказать как это сделать?

Буду очень благодарен!!!

Отредактировано alexgard - 15.05.2012
6245
Тарас @tarasian666
Подскажите пожалуйста, что означает bar:foo?
это означает "что-нибудь" это не критично что туда писать но что-то там должно быть
можно сделать так как в последних постах в теме liquidsoap, тогда помоему ошибки нет, но работает и так и так

скрипт может быть написан на чем угодно, главное чтоб работал и возвращал путь к треку )

28
alexgard @alexgard
Я написал в test.liq:

def my_request_function() =
# Get the first line of my external process
result =
list.hd(
get_process_lines("D:\test\test.php"))
# Create and return a request using this result
request.create(result)
end

# Create the source
s = request.dynamic(my_request_function)

output.icecast(%mp3,fallible=true,mount="test",host="host",port=8000,password="password",s)


test.php:
<?php
echo "http://другой_сервер/песня.mp3";
?>

Выдает ошибку "Nonexistent file or ill-formed URI ""! "

Как заставить работать такую конструкцию????????

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

в линуксе это выглядит так


#!/usr/bin/php -q
<?php
код


или перед скриптом указать его php D:\test\test.php

28
alexgard @alexgard
Спасибо!!!! Начало читать php, но не правильно....


<?php
echo "D:\Hadouken\Rebirth.mp3";
?>

Ошибка:
Unknown protocol "D" in URI "D:\\Hadouken\\Rebirth.mp3"!

Отредактировано alexgard - 15.05.2012
44
alpha_Qu4z4r @alpha_Qu4z4r
Лол, эти виндузятники вечно лезут в дебри, но не хотят изучать азы...
Очевидно, же что оно хочет у тебя протокол, тоесть http:// или ftp://, в твоём случаее скорее всего надо писать file://d:\path, хотя опять же это верно для линукса, а как в винде будет выглядеть указание протокола для локального файла я сказать не могу.

28
alexgard @alexgard
alpha_Qu4z4r пишет:

Лол, эти виндузятники вечно лезут в дебри, но не хотят изучать азы...
Очевидно, же что оно хочет у тебя протокол, тоесть http:// или ftp://, в твоём случаее скорее всего надо писать file://d:\path, хотя опять же это верно для линукса, а как в винде будет выглядеть указание протокола для локального файла я сказать не могу.


<?php
echo "file://D:/Hadouken/Rebirth.mp3";
?>

Ошибка такая же.......

28
alexgard @alexgard
А как сделать, что бы работало так:

<?php
echo "http://другой_сервер/песня.mp3";
?>

Как сказать скрипту, что протокол http?

6245
Тарас @tarasian666
**********
но через dynamic.request это врядли получиться

28
alexgard @alexgard
tarasian666 пишет:

**********
но через dynamic.request это врядли получиться


Я сделал так:

def my_request_function() =
# Get the first line of my external process
result =
list.hd(
get_process_lines("C:\usr\curl.exe -q **********
# Create and return a request using this result
request.create(result)
end

# Create the source
s = request.dynamic(my_request_function)

add_protocol("http",
fun (s,delay) ->
get_process_lines("C:\xampp\php\php.exe "^quote(s)))

output.icecast(%mp3,fallible=true,mount="test",host="test",port=8000,password="test",mksafe(s))

test.php:

<?php
echo "http:http://site.com/song.mp3";
?>

Ошибка:

Could not open input file: **********

Что не так???? Пожалуйста, помогите........

Отредактировано alexgard - 15.05.2012