Тема: liquidsoap playlist

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

читал Sources using requests проблема решается [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 01:10:06)

2

Re: liquidsoap playlist

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

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

3

Re: liquidsoap playlist

пишет 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 11:58:29)

4

Re: liquidsoap playlist

Подскажите пожалуйста, что означает bar:foo?

это означает "что-нибудь" это не критично что туда писать но что-то там должно быть
можно сделать так как в последних постах в теме liquidsoap, тогда помоему ошибки нет, но работает и так и так

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

5

Re: liquidsoap playlist

Я написал в 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 ""! "

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

6

Re: liquidsoap playlist

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

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

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

или перед скриптом указать его

php D:\test\test.php

7

Re: liquidsoap playlist

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


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

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

Отредактировано alexgard (15-05-2012 20:16:37)

8

Re: liquidsoap playlist

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

9

Re: liquidsoap playlist

пишет alpha_Qu4z4r:

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

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

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

10

Re: liquidsoap playlist

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

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

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

11

Re: liquidsoap playlist

http://savonet.sourceforge.net/doc-svn/cookbook.html
но через dynamic.request это врядли получиться

12

Re: liquidsoap playlist

пишет tarasian666:

http://savonet.sourceforge.net/doc-svn/cookbook.html
но через 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 http://test.com/test.php"))
  # 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: http://site.com/song.mp3

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

Отредактировано alexgard (15-05-2012 23:18:29)