Подход Best Practice для планирования плейлистов с использованием Liquid soap (альтернатива equeue) - PullRequest
0 голосов
/ 11 февраля 2020

Я нахожусь в поиске наилучшего практического подхода для планирования списков воспроизведения с использованием Liquid soap. Мой текущий подход создает множество задержек, следовательно, не соответствует требованиям для непрерывного воспроизведения.

Требования :

  • После планирования должен быть запланирован новый список воспроизведения , он должен удалить все ранее запланированные элементы списка воспроизведения.
  • Избегать любых задержек при очистке ранее помещенных в очередь элементов списка воспроизведения.

Моя текущая реализация :

  1. Планирование набора файлов (представляющих список воспроизведения), помещая их в equeue
  2. Эта очередь начинает воспроизводиться
  3. Когда наступит следующий временной интервал, новый список воспроизведения нельзя просто поставить в очередь, потому что он начнется только после того, как все треки, поставленные в очередь из предыдущего списка воспроизведения, закончат воспроизведение Из-за этого я сначала удаляю все дорожки из предыдущего списка воспроизведения, используя серверный скрипт Liquid soap. Этот процесс занимает много времени и задерживает своевременное выполнение шага 4.)
  4. Планируйте новые файлы, помещая их в equeue.

Как я могу сделать это больше элегантно? Можно ли очистить equeue без создания задержек?

Если для этого есть «более правильные» функции Liquid soap, например playlist или request.dynamic вместо equeue, пожалуйста, дайте мне знать.

1 Ответ

0 голосов
/ 03 мая 2020

Трудно сказать, не читая полный скрипт, но на самом деле вы можете добиться чего-то похожего с playlist или request.dynamic:

  • Кажется, у вас есть внешняя программа для генерации списка воспроизведения ; заставить эту программу записывать в файл, создать playlist, указывающий на этот файл, и использовать playlist reload и reload_mode для refre sh (возможно, также изменить mode, потому что по умолчанию оно randomize https://www.liquidsoap.info/doc-1.4.1/reference.html#playlist)
  • Если вы предпочитаете называть свой сценарий каждый раз, когда хотите записать трек sh, см. Пример request.dynamic в https://www.liquidsoap.info/doc-1.4.1/request_sources.html

В обоих решениях списки воспроизведения обновляются в соответствии с расписанием Liquid soap, которое не зависит от потока воспроизведения, поэтому следует избегать задержек.

...