WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Liquidsoap
Тип Потоковое мультимедиа
Разработчик The Savonet Team
Написана на OCaml
Операционная система Unix, Linux, Microsoft Windows and Mac OS X.
Первый выпуск 2003
Последняя версия 1.3.3 (14 октября 2017)
Состояние Активный
Лицензия GPL
Сайт liquidsoap.fm

Liquidsoap — это язык программирования для аудио, разработанный первоначально для создания аудио- и видеопотоков , передаваемых из исходного потока на Icecast сервер. Различие с любыми другими доступными утилитами - это то, что Liquidsoap интерпретирует отдельный скриптовой язык, что делает его очень универсальным и адаптирующимся к различным применениям.

Последние релизы Liquidsoap также включают в себя возможность взаимодействовать с локальной звуковой картой или для вывода мультимедийных данных в локальные файлы, используя различные форматы. Таким образом, Liquidsoap не только клиента-источник аудио- и видео потока для Icecast, но общецелевой специализированный язык аудио, посвященный автоматизации обработки и трансляции аудио и видео.

Liquidsoap опубликован под GNU General Public License (GPL), является частью проекта Savonet, и разрабатывается в OCaml. Проект Savonet так же поддерживает OCaml модули, используемые для различных дополнительных возможностей, поддерживаемых в Liquidsoap.

Дизайн

Описание аудиопотока может быть очень сложным: некоторые входные источники (файлы, перенаправление потока, вход звуковой карты) могут быть объединены различными способами (обработки звука, микширование, воспроизведение планирования, fall-back'и) и в конечном итоге могут быть выведены в любом другом виде (на несколько серверов или в нескольких форматах). Чтобы сделать это простым без больших затрат энергии, Liquidsoap использует собственный небольшой скриптовой язык для настройки.

В этом языке есть понятие аудиопотока и запроса, и встроенные функции для объединения потоков разными способами. Некоторые из его основных особенностей:

Потоки

Поток в Liquidsoap

В языке Liquidsoap, аудио- и видеопотоки представлены переменными. Тем не менее, поток является бесконечным объектом, следовательно, потоковой переменной в Liquidsoap нельзя управлять напрямую. Вместо этого, они обрабатываются с помощью операторов, которые производят с ними некоторые операции.

Кроме того, поток — это объект высокого порядка, что представляет собой бесконечную последовательность звуковых или видео выборок данных, а также метаданные и разрывы, которые представлены границами треков-композиций.

Например, поток может быть выбран из внешнего потока аудио следующим образом:

s = input.http("http://server.org:8000/stream")

В дальнейшем, если пользователь хочет, изменить громкость этого потока, он использует:

s = amplify(2.0, s)

В конце концов, поток прошел к выходу, который может быть и звуковой картой, и JACK-сервером и файлом, и т.д .., или можно выводить на удаленном сервер. Например, на сервер Icecast:

output.icecast.vorbis(host="server.org",mount="my_radio", s)

Функциональный язык

Язык Liquidsoap — это язык функционального программирования. Таким образом, функции могут быть использованы в качестве переменных. В частности, так как потоки — это бесконечные объекты, единственный способ, чтобы применить операцию для каждого элемента потока, является определением обобщенной функции, которая применяется к каждому элементу, когда он создается.

Например, вы можете определить операцию для всех метаданных, переносимых потоком:

# Функция, исполняющая какое-то действие с метаданными
def f(m) =
  (.. Какие-то операции с m ..)
end

# Переопределение s и применение f
# для всех метаданных
s = on_metadata(f, s)

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2025
WikiSort.ru - проект по пересортировке и дополнению контента Википедии