Liquidsoap в роли перекодировщика потока

Начали мы внедрять в жизнь интереснейшее интернет радио “Fresh Rock”. Арендовали слабенький VPS в Киеве с жирным каналом в UA-IX. Слабенький потому что думалось на нём ставить только один Icecast, оказалось немного не так :) На данный момент на этом сервере кроме Icecast крутится и Liquidsoap, который перекодирует основной поток MP3 формата в OGG и AAC+ потоки. OGG в основном используется для воспроизведения потока браузерами на HTML5, AAC+ используется в основном для прослушивания на мобильных телефонах, андроидофонах и т.д. Вообще люблю RedHat based дистрибутивы, но поскольку сам собрать liquidsoap на них не в силах, а в репозиториях он есть только для Debian, Ubuntu, то решено было устанавливать именно Debian. Пришлось подключить тестовые репозитарии чтоб получилось установить версию liquidsoap, которая в силах перекодировать поток в AAC+. Как это делалось уже не опишу, много чего пробовал, кое как поставил :) Ниже привожу конфиг liquidsoap с помощью которого мы перекодируем из одного формата в другой. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 #!/usr/bin/liquidsoap # Log dir set("log.file.path","/var/log/liquidsoap/basic.log") set("log.stdout",true) set("log.level",4) # Input HTTP url=mksafe(input.http("http://ua.freshrock.net:8000/mp3")) #AAC+ output.icecast(%aacplus(channels=2, samplerate=44100, bitrate=64), icy_metadata="true", mount = "aac", host = "localhost", port = 8000, password = "hackme", genre="Rock", description="Fresh Rock, Lugansk Rock, Ukrainian Rock", name="Fresh Rock", url="http://freshrock.net", url) #MP3 #output.icecast(%mp3(bitrate=128, id3v2 = true), # mount = "mp3128", # host = "localhost", port = 8000, password = "hackme", # genre="Rock", # name="Test 128kb\s", # url="http://freshrock.net", #url) #OGG output.icecast(%vorbis (channels=2, samplerate=44100, quality=0.4), icy_metadata="false", mount = "ogg", host = "localhost", port = 8000, password = "hackme", genre = "Rock", description = "Fresh Rock, Lugansk Rock, Ukrainian Rock", name = "Fresh Rock", url = "http://freshrock.net", drop_metadata(url)) Заметьте, активно только два потока. Не знаю почему, но на моём сервере если активировать третий поток, то процессор начинает очень активно использоваться и Icecast начинает “икать”. Может действительно очень слабый, а может какой-то глюк. На OGG потоке обрезаются тэги, делается это для того, чтоб браузеры не переподключались при смене тэга на OGG потоке. Кому интересно, могут почитать об этом глюке в интернете. Каким то странным образом иногда начали обрезаться тэги и на AAC+ потоке, причём далеко не на всех песнях. Какой-то зависимости я увидеть не смог. ...

10 січня 2013 · 2 хвилин · 405 слів · dimetrius