2015-07-24 9 views
0

Я хочу передать ~ 40 радио с Icecast и перекодировать их 3 битрейтом (32,64,128)Как оптимизировать жидкость?

реле все радио и перекодирование их 32 битрейта работает хорошо, но на 64, 128 не работает

Liquidsoap журналы:

2015/07/24 11:36:56 [:3] Buffer overrun: Dropping 0.03s. 
2015/07/24 11:36:56 [:3] Buffer overrun: Dropping 0.04s. 
2015/07/24 11:36:56 [:3] Buffer overrun: Dropping 0.03s. 
2015/07/24 11:36:56 [:3] Buffer overrun: Dropping 0.02s. 
2015/07/24 11:36:56 [:3] Buffer overrun: Dropping 0.03s. 
2015/07/24 11:36:56 [:3] Buffer overrun: Dropping 0.03s. 
2015/07/24 11:36:56 [:3] Buffer overrun: Dropping 0.03s. 
2015/07/24 11:36:56 [:3] Buffer overrun: Dropping 0.03s. 
2015/07/24 11:36:56 [:3] Buffer overrun: Dropping 0.03s. 
2015/07/24 11:36:56 [:3] Buffer overrun: Dropping 0.03s. 

Liquidsoap конфигурации:

set("buffering.kind","raw") 
set("log.file", true) 

def my_input(url) = 
    mksafe(input.http(buffer=5., max=20., url)); 
end 

def outputs(name, mount, input) = 
    output.icecast(
    %mp3(bitrate=32, samplerate=22050, stereo=false), 
    ****** 
    mean(input)) 

    output.icecast(
    %mp3(bitrate=64,samplerate=44100,stereo=true), 
    ****** 
    input) 

    output.icecast(
    %mp3(bitrate=128,samplerate=44100,stereo=true), 
    ****** 
    input) 

end 

url = "http://localhost:8000/radio1" 
input = my_input(url) 
outputs("Radio1", "radio1", input) 

#.............. 

url = "http://localhost:8000/radio40" 
input = my_input(url) 
outputs("Radio40", "radio40", input) 

пределы Icecast:

Информация

enter image description here

Сервер:

6 cores(average load 40%) 
6GB RAM 

HTOP экран: enter image description here

ответ

2

К сожалению, нагрузка в этом случае для кодека и там не много вы сможете чтобы уменьшить его. Разделите транскодирование на нескольких серверах.

Для чего это стоит, я обычно могу получить 12 потоков, перекодированных в самый дешевый цифровой ящик Ocean Ocean. Если вы еще не используете дешевый VPS-хостинг для этого, я рекомендую! Просто следите за процессором с чем-то вроде New Relic и переходите на новый хост, если они разрезают на выделенные вами циклы. Вашему кодеку требуется постоянная доступность процессора для полного заполнения буферов.

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

+0

Как я могу сделать это на 1 сервере? Я хочу заказать выделенный сервер, но не знаю, какой из них заказать в моем случае (и как настроить liquidsoap, чтобы начать транскодирование, только если есть один или несколько слушателей? – IceJOKER

+1

@IceJOKER Не используйте один сервер, используйте несколько. Лучше использовать более мелкие серверы, чтобы разделить нагрузку, чем один большой. Обычно это дешевле, а затем вы можете снять часть своей установки на обновления, не закрывая все это. – Brad

+0

в этом случае, как я могу присоединиться к моему домен? У меня есть домен: example.com, и я хочу передавать радио через домен (НЕ IP): example.com:8000/mount_1_32 ... example.com:8000/mount_40_128 Я знаю, как это сделать с помощью одного сервера , но не на нескольких серверах. – IceJOKER

 Смежные вопросы

  • Нет связанных вопросов^_^