551

Re: liquidsoap

пишет tarasian666:

но помоему в дебиан уже добавили пакет с мп3 для liquidsoap, ставится отдельно

Если вы про этот ocaml-lame пакет то да он включен уже. Если нет то подскажите пожалуйста smile

пишет tarasian666:

рекомендую ставить последнюю версию с "меркурия"

А если по подробнее?:) Не совсем понял откуда ставить)

Fu** Pop, just Dance!

552

Re: liquidsoap

нет я не про ocaml-lame, я про liquidsoap-plugin-lame

hg clone http://savonet.hg.sourceforge.net:8000/ … et/savonet

553

Re: liquidsoap

Решил тут побаловаться на досуге сей прекрасным инструментом) Товарищи направьте на путь истинный,  подскажите как запустить вещание с плейлиста, плейлист в папке Liquidsoap.
Удалось запустить перекодировку с другого сервера (был вбит в конфиг изначально), но вот мои файлы вещать не хочет.

set("log.file",true)
set("log.stdout",true)
set("log.level",4)

day=playlist("test.m3u")

radio=day

output.icecast(%aacplus(bitrate=32),
            host="localhost",
            port=9000,
            password="hackmeplease",
            fallible=true,
            mount="test",
              s)

554

Re: liquidsoap

radio=mksafe(day)

555

Re: liquidsoap

Хм не помогло.. Может на "окнах" как-то по особому путь до плейлиста надо указывать?. Хотя все возможные варианты использовал.. При запуске просто закрывается и в логах пусто..

Фак еее! Таки запустил) Спасибо огромное, раньше пробовал его запустить не получалось, забрасывал..
PS: По умолчанию играет Random, вставил довольно большой плейлист. Пока соотношение повторов исполнителей вполне норм, за пару часов ни разу одного и того же исполнителя не проигралось. А есть ли какой-нибудь скрипт по управлению ротацией как Playlist Rotation Rules в Sambro? Чтоб нон-стоп был максимально разнообразным

Отредактировано Krueger (04-04-2012 22:17:54)

556

Re: liquidsoap

tarasian666, подскажи пожалуйста его можно научить кириллице? Треки тоже кириллицей обозваны, вещается норм, но вот liquid кракозябру отсылает

Upd.  Нашел. <charset>UTF8</charset> в маунт и все ок.

Отредактировано Krueger (13-04-2012 18:24:55)

557

Re: liquidsoap

у меня вся кирилица в utf8 и проблем нет

можно поиграться с

set("tag.encodings",["UTF-8","ISO-8859-1"])

это по дефолту стоит

558

Re: liquidsoap

Имеется соап, вещающий из упорядоченных плейлистов, но надо каждый день эти плейлисты менять (физически буду менять по крону). Как организовать перечитывание плейлиста перед воспроизведением или что-то в этом роде? Вот конфиг  (не факт, что рабочий, он у меня первый, а потестить пока негде):

#!/usr/bin/liquidsoap
# логи
set("log.file.path","/home/radio/soap/load/logs/monday.log)
# загружаем плейлисты и джинглы
playlist_01-06 = playlist("/home/radio/soap/load/01-06.m3u")
playlist_06-09 = playlist("/home/radio/soap/load/06-09.m3u")
playlist_09-18 = playlist("/home/radio/soap/load/09-18.m3u")
playlist_18-01 = playlist("/home/radio/soap/load/18-01.m3u")
jingles_01-06 = playlist("/home/radio/soap/load/01-06.m3u")
jingles_06-09 = playlist("/home/radio/soap/load/06-09.m3u")
jingles_09-18 = playlist("/home/radio/soap/load/09-18.m3u")
jingles_18-01 = playlist("/home/radio/soap/load/18-01.m3u")
# и один проверенный аудиоисточник
security = playlist("/home/radio/soap/load/security.m3u")
# перемешиваем джинглы и плейлист
play_1 = normal(weights = [1, 3], [jingles_01-06, playlist_01-06])
play_2 = normal(weights = [1, 3], [jingles_06-09, playlist_06-09])
play_3 = normal(weights = [1, 3], [jingles_09-18, playlist_09-18])
play_4 = normal(weights = [1, 3], [jingles_18-01, playlist_18-01])
# делаем так, чтобы если основной плейлист упадёт, то подхватился запасной
radio = fallback(track_sensitive = false, [radio, security])
play_1 = fallback(track_sensitive = false, [play_1, security])
play_2 = fallback(track_sensitive = false, [play_2, security])
play_3 = fallback(track_sensitive = false, [play_3, security])
play_4 = fallback(track_sensitive = false, [play_4, security])
# создаём цельный
radio = switch([ ({1h-6h}, play_1), ({6h-9h}, play_2), ({9h-18h}, play_3), ({18h-1h}, play_4)])
# добавляем озвучивание времени каждый час. Дофига, зато без мозговнушения с кроном.
radio = switch(track_sensitive=false, [({0h0m0s},"/home/radio/soap/collection/hello_p_fm/0.mp3"))])
radio = switch(track_sensitive=false, [({1h0m0s},"/home/radio/soap/collection/hello_p_fm/1.mp3"))])
radio = switch(track_sensitive=false, [({2h0m0s},"/home/radio/soap/collection/hello_p_fm/2.mp3"))])
radio = switch(track_sensitive=false, [({3h0m0s},"/home/radio/soap/collection/hello_p_fm/3.mp3"))])
radio = switch(track_sensitive=false, [({4h0m0s},"/home/radio/soap/collection/hello_p_fm/4.mp3"))])
radio = switch(track_sensitive=false, [({5h0m0s},"/home/radio/soap/collection/hello_p_fm/5.mp3"))])
radio = switch(track_sensitive=false, [({6h0m0s},"/home/radio/soap/collection/hello_p_fm/6.mp3"))])
radio = switch(track_sensitive=false, [({7h0m0s},"/home/radio/soap/collection/hello_p_fm/7.mp3"))])
radio = switch(track_sensitive=false, [({8h0m0s},"/home/radio/soap/collection/hello_p_fm/8.mp3"))])
radio = switch(track_sensitive=false, [({9h0m0s},"/home/radio/soap/collection/hello_p_fm/9.mp3"))])
radio = switch(track_sensitive=false, [({10h0m0s},"/home/radio/soap/collection/hello_p_fm/10.mp3"))])
radio = switch(track_sensitive=false, [({11h0m0s},"/home/radio/soap/collection/hello_p_fm/11.mp3"))])
radio = switch(track_sensitive=false, [({12h0m0s},"/home/radio/soap/collection/hello_p_fm/12.mp3"))])
radio = switch(track_sensitive=false, [({13h0m0s},"/home/radio/soap/collection/hello_p_fm/13.mp3"))])
radio = switch(track_sensitive=false, [({14h0m0s},"/home/radio/soap/collection/hello_p_fm/14.mp3"))])
radio = switch(track_sensitive=false, [({15h0m0s},"/home/radio/soap/collection/hello_p_fm/15.mp3"))])
radio = switch(track_sensitive=false, [({16h0m0s},"/home/radio/soap/collection/hello_p_fm/16.mp3"))])
radio = switch(track_sensitive=false, [({17h0m0s},"/home/radio/soap/collection/hello_p_fm/17.mp3"))])
radio = switch(track_sensitive=false, [({18h0m0s},"/home/radio/soap/collection/hello_p_fm/18.mp3"))])
radio = switch(track_sensitive=false, [({19h0m0s},"/home/radio/soap/collection/hello_p_fm/19.mp3"))])
radio = switch(track_sensitive=false, [({20h0m0s},"/home/radio/soap/collection/hello_p_fm/20.mp3"))])
radio = switch(track_sensitive=false, [({21h0m0s},"/home/radio/soap/collection/hello_p_fm/21.mp3"))])
radio = switch(track_sensitive=false, [({22h0m0s},"/home/radio/soap/collection/hello_p_fm/22.mp3"))])
radio = switch(track_sensitive=false, [({23h0m0s},"/home/radio/soap/collection/hello_p_fm/23.mp3"))])
# radio = smooth_add(track_sensitive=false, normal = radio, special = "/home/radio/soap/collection/hello_p_fm/00.mp3")
# запускаем вещалку
output.icecast(%mp3,
host = "localhost", port = 8000,
password = "owhackmepls", mount = "test", smart_crossfade(mksafe(myplaylist))
genre = "Radio",
name = "Интернет радио",
url="http://radio")

Второй вопрос... switch видимо резко заменяет плейлист звуковым файлом, а потом резко возвращает назад. Возможно ли (примерно за 1 секунду, но плавно) сильно приглушить музыку, проиграть файлик ровно в определённое время, и вернуть громкость основному потоку (тоже быстро, но не рывком)? Нагуглил smooth_add, но в документации не разобраться

smooth_add
(?delay:float,?p:float,
 normal:source(audio='#a,video='#b,midi=0),
 special:source(audio='#a,video='#b,midi=0))->
source(audio='#a,video='#b,midi=0)

Отредактировано nivs (15-04-2012 03:28:23)

559

Re: liquidsoap

playlist(reload = 600, "/home/radio/soap/load/18-01.m3u")

для плавности можно использовать crossfade

560

Re: liquidsoap

tarasian666, спасибо, но всё никак не опробовать.
Помогите, пожалуйста, с установкой на openSUSE 12.1 x86...
Ставлю ocaml 3.12.1:
./configure
make world
make bootstrap
make opt
make install

Вылезает следующее:

Installing camlp4...
  install binary /usr/local/bin/camlp4prof
  install binary /usr/local/bin/mkcamlp4
  install binary /usr/local/bin/camlp4
  install binary /usr/local/bin/camlp4boot
  install binary /usr/local/bin/camlp4o
  install binary /usr/local/bin/camlp4of
  install binary /usr/local/bin/camlp4oof
  install binary /usr/local/bin/camlp4orf
  install binary /usr/local/bin/camlp4r
  install binary /usr/local/bin/camlp4rf
  don't install camlp4/camlp4o.native
  don't install camlp4/camlp4of.native
  don't install camlp4/camlp4oof.native
  don't install camlp4/camlp4orf.native
  don't install camlp4/camlp4r.native
  don't install camlp4/camlp4rf.native
Installing Camlp4Parsers...
  don't install Camlp4Parsers/*.o
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4AstLoader.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4AstLoader.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4DebugParser.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4DebugParser.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4GrammarParser.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4GrammarParser.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4ListComprehension.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4ListComprehension.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4MacroParser.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4MacroParser.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlOriginalQuotationExpander.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlOriginalQuotationExpander.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlParser.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlParser.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlParserParser.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlParserParser.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlReloadedParser.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlReloadedParser.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParser.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParser.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParserParser.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParserParser.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlRevisedQuotationExpander.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4OCamlRevisedQuotationExpander.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4QuotationCommon.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4QuotationCommon.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4QuotationExpander.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Parsers/Camlp4QuotationExpander.cmo
Installing Camlp4Printers...
  don't install Camlp4Printers/*.o
  install /usr/local/lib/ocaml/camlp4/Camlp4Printers/Camlp4AstDumper.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Printers/Camlp4AstDumper.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Printers/Camlp4AutoPrinter.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Printers/Camlp4AutoPrinter.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Printers/Camlp4NullDumper.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Printers/Camlp4NullDumper.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Printers/Camlp4OCamlAstDumper.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Printers/Camlp4OCamlAstDumper.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Printers/Camlp4OCamlPrinter.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Printers/Camlp4OCamlPrinter.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Printers/Camlp4OCamlRevisedPrinter.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Printers/Camlp4OCamlRevisedPrinter.cmo
Installing Camlp4Filters...
  don't install Camlp4Filters/*.o
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4AstLifter.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4AstLifter.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4ExceptionTracer.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4ExceptionTracer.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4FoldGenerator.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4FoldGenerator.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4LocationStripper.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4LocationStripper.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4MapGenerator.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4MapGenerator.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4MetaGenerator.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4MetaGenerator.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4Profiler.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4Profiler.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4TrashRemover.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Filters/Camlp4TrashRemover.cmo
Installing Camlp4Top...
  don't install Camlp4Top/*.o
  install /usr/local/lib/ocaml/camlp4/Camlp4Top/Rprint.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Top/Rprint.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Top/Top.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Top/Top.cmo
  don't install camlp4lib.cmxa
  don't install camlp4fulllib.cmxa
  don't install Camlp4Bin.o
  don't install camlp4prof.o
  install /usr/local/lib/ocaml/camlp4/camlp4lib.cma
  install /usr/local/lib/ocaml/camlp4/Camlp4.cmi
  install /usr/local/lib/ocaml/camlp4/camlp4fulllib.cma
  install /usr/local/lib/ocaml/camlp4/camlp4o.cma
  install /usr/local/lib/ocaml/camlp4/camlp4of.cma
  install /usr/local/lib/ocaml/camlp4/camlp4oof.cma
  install /usr/local/lib/ocaml/camlp4/camlp4orf.cma
  install /usr/local/lib/ocaml/camlp4/camlp4r.cma
  install /usr/local/lib/ocaml/camlp4/camlp4rf.cma
  install /usr/local/lib/ocaml/camlp4/Camlp4Bin.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Bin.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4Top.cmi
  install /usr/local/lib/ocaml/camlp4/Camlp4Top.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4_config.cmi
  install /usr/local/lib/ocaml/camlp4/camlp4prof.cmi
  install /usr/local/lib/ocaml/camlp4/camlp4prof.cmo
  install /usr/local/lib/ocaml/camlp4/Camlp4_import.cmi
  don't install camlp4lib.a
  don't install camlp4fulllib.a
Installing ocamlbuild...
  install binary /usr/local/bin/ocamlbuild.byte
  don't install ocamlbuild.native
  install binary /usr/local/bin/ocamlbuild (with ocamlbuild.byte)
  install library /usr/local/lib/ocaml/ocamlbuild/ocamlbuildlib.a
  don't install ocamlbuild.cmx
  don't install ocamlbuild.o
  install /usr/local/lib/ocaml/ocamlbuild/ocamlbuildlib.cmxa
  install /usr/local/lib/ocaml/ocamlbuild/ocamlbuildlib.cma
  install /usr/local/lib/ocaml/ocamlbuild/ocamlbuild_plugin.cmi
  install /usr/local/lib/ocaml/ocamlbuild/ocamlbuild_pack.cmi
  install /usr/local/lib/ocaml/ocamlbuild/ocamlbuild_unix_plugin.cmi
  install /usr/local/lib/ocaml/ocamlbuild/ocamlbuild_unix_plugin.cmo
  install /usr/local/lib/ocaml/ocamlbuild/ocamlbuild_unix_plugin.cmx
  install /usr/local/lib/ocaml/ocamlbuild/ocamlbuild_unix_plugin.o
  install /usr/local/lib/ocaml/ocamlbuild/ocamlbuild_executor.cmi
  install /usr/local/lib/ocaml/ocamlbuild/ocamlbuild_executor.cmo
  install /usr/local/lib/ocaml/ocamlbuild/ocamlbuild_executor.cmx
  install /usr/local/lib/ocaml/ocamlbuild/ocamlbuild_executor.o
  install /usr/local/lib/ocaml/ocamlbuild/ocamlbuild.cmo
  install /usr/local/man/man1/ocamlbuild.1

это окончание логов, могу вообще весь и всего выложить.

Следовательно и liquidsoap не собирается:

# ./configure 
-------------------------------------------------------------------------------
| This configure file is provided in order for you to be able to build        |
| liquidsoap without having to install all the dependencies.                  |
| If you want to use the libraries, use the configure of the subdirectories.  |
| This script will build liquidsoap with features indicated in PACKAGES.      |
| Edit it or build manually if you need something more specific.              |
-------------------------------------------------------------------------------


****** Configuring ocaml-cry-0.2.2

./configure --with-cry-dir=../ocaml-cry-0.2.2/src
configure: WARNING: unrecognized options: --with-cry-dir
configure: loading site script /usr/share/site/i686-pc-linux-gnu
configuring ocaml-cry 0.2.2
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking that calling user is not root... ok
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for ar... ar
checking for ocamlc... ocamlc
OCaml version is 3.12.1
checking if ocaml compiler supports first-class modules... yes
OCaml library path is /usr/local/lib/ocaml
checking for ocamlopt... ocamlopt
checking for ocamlc.opt... ocamlc.opt
checking for ocamlopt.opt... ocamlopt.opt
checking for ocaml... ocaml
checking for ocamldep... ocamldep
checking for ocamlmktop... ocamlmktop
checking for ocamlmklib... ocamlmklib
checking for ocamldoc... ocamldoc
checking for ocamlbuild... ocamlbuild
checking for camlidl... no
checking for ocamllex... ocamllex
checking for ocamllex.opt... ocamllex.opt
checking for ocamlyacc... ocamlyacc
checking for camlp4... camlp4
checking for camlp4boot... camlp4boot
checking for camlp4o... camlp4o
checking for camlp4of... camlp4of
checking for camlp4oof... camlp4oof
checking for camlp4orf... camlp4orf
checking for camlp4prof... camlp4prof
checking for camlp4r... camlp4r
checking for camlp4rf... camlp4rf
checking for ocamlfind... no
checking for caml/threads.h... no
checking for gcc option to produce PIC... -fPIC
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/META
config.status: creating src/Makefile
config.status: creating examples/Makefile.connect
configure: WARNING: unrecognized options: --with-cry-dir

****** Configuring ocaml-ao-0.2.0

./configure --with-cry-dir=../ocaml-cry-0.2.2/src --with-ao-dir=../ocaml-ao-0.2.0/src
configure: WARNING: unrecognized options: --with-cry-dir, --with-ao-dir
configure: loading site script /usr/share/site/i686-pc-linux-gnu
configuring ocaml-ao 0.2.0
checking for ocamlc... /usr/local/bin/ocamlc
ocaml version is 3.12.1
ocaml library path is /usr/local/lib/ocaml
checking for ocamlopt... /usr/local/bin/ocamlopt
checking ocamlopt version... ok
checking for ocamlc.opt... /usr/bin/ocamlc.opt
checking ocamlc.opt version... ok
checking for ocamlopt.opt... /usr/bin/ocamlopt.opt
checking ocamlc.opt version... ok
checking for ocamldep... /usr/local/bin/ocamldep
checking for ocamldoc... /usr/local/bin/ocamldoc
checking for ocamlfind... no
configure: error: Cannot find ocamlfind.

Что делать..? Не хочу на дебиан переносить всё ради liquidsoap, контейнеры - костыльно.

Отредактировано nivs (15-04-2012 22:31:12)

561

Re: liquidsoap

с сьюзи не знаком, а там что нет в репозиториях ocaml?

562

Re: liquidsoap

А где есть полностью подробная инструкция по установке этого "Чудо зверя".?

563

Re: liquidsoap

пишет Jon-coool:

А где есть полностью подробная инструкция по установке этого "Чудо зверя".?

Если достаточно потока .ogg то в Debian/Ubuntu: apt-get install liquidsoap
Если нужны mp3 и aac то придется собирать из исходников, инструкция здесь

564

Re: liquidsoap

в дебиан уже есть mp3 но надо доставить еще один пакет, на оф сайфте подробнее пишет
но все же лучше собирать последнюю версию

565

Re: liquidsoap

пишет tarasian666:

с сьюзи не знаком, а там что нет в репозиториях ocaml?

Есть, но он кастрированный. Буду пока дальше думать, пока тыкаю на Debian'е.

Отредактировано nivs (16-04-2012 23:23:22)

566

Re: liquidsoap

если в сьюзи rpm то можно в сети найти, приходилось даже на centos ставить

567

Re: liquidsoap

Ну это попозже, пока вторую машину с Debian поднял. Но работа над плейлистом всё ещё ведётся.

Надо ли убирать вот это из логов (фиксить то бишь)? Если да, то как?

2012/04/18 19:01:44 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
2012/04/18 19:01:44 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2012/04/18 19:01:44 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2012/04/18 19:01:44 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2012/04/18 19:01:44 [decoder:4] Trying method "META" for "/home/stream/radio/collection/clock/jingleT_0.mp3"...
2012/04/18 19:01:44 [decoder:4] Trying method "WAV" for "/home/stream/radio/collection/clock/jingleT_0.mp3"...
2012/04/18 19:01:44 [decoder.wav:4] Invalid MIME type for "/home/stream/radio/collection/clock/jingleT_0.mp3": audio/mpeg!
2012/04/18 19:01:44 [decoder.wav:4] Invalid file extension for "/home/stream/radio/collection/clock/jingleT_0.mp3"!
2012/04/18 19:01:44 [decoder:4] Trying method "MIDI" for "/home/stream/radio/collection/clock/jingleT_0.mp3"...
2012/04/18 19:01:44 [decoder:4] Trying method "MP3" for "/home/stream/radio/collection/clock/jingleT_0.mp3"...
2012/04/18 19:01:44 [decoder.mp3:4] Libmad recognizes "/home/stream/radio/collection/clock/jingleT_0.mp3" as MP3 (layer III, 192kbps, 44100Hz, 2 channels).

Ещё вот это не нравится:

2012/04/18 19:01:44 [decoder.taglib:4] Invalid MIME type for "/home/stream/radio/collection/efir/evening/jingles//\208\161\208\191\208\187\208\184\208\189 \208\184 \208\145\208\152-2 - \208\161\209\135\208\176\209\129\209\130\209\140\208\181.flac": audio/x-flac!
2012/04/18 19:01:44 [decoder.taglib:4] Invalid file extension for "/home/stream/radio/collection/efir/evening/jingles//\208\161\208\191\208\187\208\184\208\189 \208\184 \208\145\208\152-2 - \208\161\209\135\208\176\209\129\209\130\209\140\208\181.flac"!

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


А, и ещё - кодирование устрашающее просто, при перекодировке FLAC -> MP3 вместо гитарного/барабанного сопровождения (SOaD) тупо шум (как будто не 320 кбит/сек, а 48), как так? Конфиг IceCasta девственно нетронут, вывод из liquidsoap:

output.icecast(
 %mp3(bitrate = 320),
 mount = "320",
 mksafe(radio)
)

Отредактировано nivs (18-04-2012 20:08:40)

568

Re: liquidsoap

такое ощущение что нет декодера, но последняя строчка в первом логе вроде это опровергает

пробуй так %mp3(stereo=true, samplerate=44100, bitrate=320)

блин где вы только эти ошибки находите ))) log level не указан?

569

Re: liquidsoap

Как вы забавно скачете с "вы" на "ты", тоже этим страдаю частенько, давайте уж на "ты", если нет возражений.

уровень логирования 4. Первый раз мне вообще 500+ кило логов выплюнуло, я количество треков поубавил - полегче стало. К сожалению доступа в данный момент к машине нету, сейчас на виртуалку начачу аналог и протестирую. Но звук отвратительный, была извращённая мысль liquidsoap'у кормить поток из ices, но это слишком.

Ставил на debian wheezy:
aptitude install liquidsoap liquidsoap-plugin-all icecast2

Отредактировано nivs (18-04-2012 23:22:06)

570

Re: liquidsoap

пишет nivs:

поскольку русскоязычные файлы вообще не открываются, даже если в тегах есть кириллица

На счет имен файлов на кириллице не скажу, а вот с тегами liquidsoap работает ок. Правда я сначала редактирую в mp3tag (переименовываю файлы в формате artist-title, перевожу в транслит если кириллица) потом прогоняю утилитой python-mutagen. В результате треки отображаются нормально, как в плеерах так и в Icecast status.

571

Re: liquidsoap

devilben, зачем мутагеном прогоняете? http://sourceforge.net/projects/tag2utf/ не этим случайно? В статусе IceCast'a я создаю mount с <charset>UTF8</charset> , иначе всякие описания и комментарии из liquidsoap идут кракозябрами, ровно как и из IDJC. Попозже может быть (когда время будет) для себя напишу сценарий, который конвертирует "Артист - Название" и переводит в транслит, оттестирую и поделюсь.

Отредактировано nivs (18-04-2012 23:43:31)

572

Re: liquidsoap

пробовал только что у себя, с флак на мп3 256 - все чотко

у меня тоже на wheezy но не из пакетов, время от времени обновляю

на ты я не против, просто скачу с одного форума на другой, а там где как )

573

Re: liquidsoap

кодировку правлю скриптом tag2utf-0.16.py

574

Re: liquidsoap

пишет tarasian666:

у меня тоже на wheezy но не из пакетов, время от времени обновляю

Сейчас накачу на виртуалку и тоже из исходников соберу, там ведь даже в INSTALL требования к пакетам вроде есть. Не ко всем, видимо, но если у тебя получилось, то и у меня должно. Где-то вроде видел, что конфигурировать надо иначе liquidsoap, собранный из developer источника, это так?

575

Re: liquidsoap

хм.. там просто указываю какие модули надо в PACKAGES потом ./bootstrap потом ./configure и доставляю то что не хватает, ну и в заключение make и make install