Я пытаюсь направить свой локальный поток icecast на внешний поток icecast / shoutcast Traktor поддерживает только icecast , поэтому рекомендуется настроить потоковую передачу на локальный сервер Icecast и использовать Stream Transcoder для пересылки музыки в место назначения, где его слушают люди.

Настройка локального сервера Icecast была легкой частью

brew install icecast

а потом просто настраиваю его.

Одним из предлагаемых решений вместо использования транскодера является использование чего-то вроде BUTT или LadioCast для потоковой передачи всего аудио по определенному аудиоканалу. Я попробовал это как последнее средство из отчаяния - НО я получаю его для подключения и потоковой передачи, но (без каламбура) не может открыть поток в браузере для прослушивания, он просто показывает 404. LadioCast, с другой стороны, передает поток, но поток открывается, но я слышу только тишину, даже если выбираю все 4 мои звуковые карты. Помимо того, что эти решения не работают, они не совсем то, что я ищу, так как любой другой сигнал тревоги на компьютере будет транслироваться.

Liquidsoap был рекомендуемым решением в одной статье.

brew tap drfill/liquidsoap
brew install liquidsoap --with-all

Ошибка: вызов Hardware.is_64_bit? выключен! Использовать Hardware:: CPU.is_64_bit? вместо. /usr/local/Homebrew/Library/Taps/drfill/homebrew-liquidsoap/Formula/liquidsoap.rb:66:in `mp3?«Пожалуйста, сообщите об этом в кран drfill /liquidsoap! Или, что еще лучше, отправьте пиар, чтобы это исправить!

brew install liquidsoap

==> Installing liquidsoap from drfill/liquidsoap
==> Installing dependencies for drfill/liquidsoap/liquidsoap: objective-caml, ocaml, ocaml-syslog, ocaml-dtools, ocaml-pcre, ocaml-duppy, ocaml-camomile, libmagic, ocaml-magic, ocaml-easy-format, ocaml-biniou, ocaml-cppo, ocaml-yojson, ocaml-ogg, ocaml-vorbis, libzip, ocaml-gd4o, ocaml-mm
==> Installing drfill/liquidsoap/liquidsoap dependency: objective-caml
==> Downloading https://homebrew.bintray.com/bottles/ocaml-4.06.1.high_sierra.bottle.tar.gz
Already downloaded: /Users/vlad/Library/Caches/Homebrew/ocaml-4.06.1.high_sierra.bottle.tar.gz
==> Pouring ocaml-4.06.1.high_sierra.bottle.tar.gz
  /usr/local/Cellar/ocaml/4.06.1: 1,989 files, 225.8MB

Как только это будет сделано, жидкого мыла нигде нет, давайте попробуем ...

brew install liquidsoap
==> Installing liquidsoap from drfill/liquidsoap
==> Installing dependencies for drfill/liquidsoap/liquidsoap: ocaml-syslog, ocaml-dtools, ocaml-pcre, ocaml-duppy, ocaml-camomile, libmagic, ocaml-magic, ocaml-easy-format, ocaml-biniou, ocaml-cppo, ocaml-yojson, ocaml-ogg, ocaml-vorbis, libzip, ocaml-gd4o, ocaml-mm
==> Installing drfill/liquidsoap/liquidsoap dependency: ocaml-syslog
==> Downloading http://ftp.de.debian.org/debian/pool/main/s/syslog-ocaml/syslog-ocaml_1.4.orig.tar.gz
Already downloaded: /Users/vlad/Library/Caches/Homebrew/ocaml-syslog-1.4.tar.gz
Warning: Calling ENV.j1 is deprecated!
Use ENV.deparallelize instead.
/usr/local/Homebrew/Library/Taps/drfill/homebrew-liquidsoap/Formula/ocaml-syslog.rb:13:in `install'
Please report this to the drfill/liquidsoap tap!

==> make
Last 15 lines from /Users/vlad/Library/Logs/Homebrew/ocaml-syslog/01.make:

make

making ._bcdi/syslog.di from syslog.mli
making ._d/syslog.d from syslog.ml
ocamlfind ocamlc -package unix -c syslog.mli
ocamlfind ocamlc -package unix -c syslog.ml
File "syslog.ml", line 47, characters 8-24:
Warning 3: deprecated: String.lowercase
Use String.lowercase_ascii instead.
File "syslog.ml", line 196, characters 50-53:
Error: This expression has type bytes but an expression was expected of type
         string
make[1]: *** [syslog.cmo] Error 2
make: *** [byte-code-library] Error 2

If reporting this issue please do so at (not Homebrew/brew or Homebrew/core):
https://github.com/drfill/homebrew-liquidsoap/issues

Переходя на github, кто-то уже сообщил о проблеме со следующим ответом:https://github.com/drfill/homebrew-liquidsoap/issues/32

В настоящее время у меня нет времени и интереса для поддержки этого крана. Сожалею! Если Вы знаете, как с этим справиться, PR исправить.

Другой вариант - установка в macOS, см. # 26

Так что теперь для этого требуется opam :

brew install opam
opam install liquidsoap

opam жалуется на то, что моя версия ocaml - 4.06.1 вместо < 4.06.0 - ручное понижение версии ocaml и другие вещи просто бомбят. Поэтому я зарегистрировал ошибку для этого: https://github.com/savonet/liquidsoap/issues/538

Таким образом, liquidsoap не работает на MacOS в данный момент

Кто-то предложил использовать Nicecast, их домашняя страница буквально говорит следующее: https://rogueamoeba.com/nicecast/

28 февраля 2018 года Nicecast был уволен из активной разработки. Nicecast будет поддерживаться до конца 2018 года, но у нас больше нет планов дальнейших обновлений.

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

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

Так что nicecast тоже мертв.

Используя Loopback (https://rogueamoeba.com/loopback/), который создает виртуальную звуковую карту, я могу сказать BUTT транслировать виртуальную звуковую карту (которая прекрасно работает), но я не могу найти способ сказать Traktor разделить основной и мониторный выход. В результате, когда я занят предварительным микшированием и прослушиванием второй колоды, она также воспроизводится через виртуальную звуковую карту, что означает, что она также транслируется.

Любые другие предложения для трансляции моего ледяного потока на внешний сервер shoutcast? Кажется, я нашел много полуработающих решений, ни одно из которых не работает на 100%.

1 ответ1

0

Хорошо, после еще копания я нашел безумно сложное решение, но оно работает!

Прежде всего, давайте сначала настроим виртуальную звуковую карту, используя Loopback ...

(Loopback не бесплатный и стоит примерно столько же, сколько Traktor Pro, но, по крайней мере, работает)

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

Далее мы собираемся создать Aggregate Soundcard, чего я даже не знал, возможно на MacOS! Под Утилитами выберите Audio MIDI Setup ...

Это вызовет список аудиоустройств. Нажмите + внизу слева и выберите « Create Aggregate Device . Дважды щелкните по имени и переименуйте его во что-нибудь более полезное.

Убедитесь, что вы выбрали выход для наушников, а также Loopback Audio который мы настраивали ранее в Loopback.

Затем, в Traktor, убедитесь, что вы изменили свой аудиовыход на новую совокупную звуковую карту, которую мы назвали Traktor Output

Под выходной маршрутизацией происходит волшебство! Так как мы добавили две звуковые карты под агрегированную звуковую карту, теперь эти выходы можно выбирать по отдельности в разделе « Output Monitor и « Output Master

Далее мы собираемся использовать приклад для захвата звука с Loopback Soundcard и его трансляции.

Подводя итог, можно сказать, что Traktor выводит звук через агрегированную звуковую карту, которая содержит выход на наушники, а также виртуальную звуковую карту, предоставленную Loopback. Затем butt используется для захвата звука с виртуальной звуковой карты и передачи его в потоки крика или ледяного вещания. Тогда все переключение потоков будет происходить непосредственно внутри butt .

Наконец, ваши мелодии теперь можно прослушивать в потоковом режиме. Надеемся, что когда-нибудь появится более простое решение, которое не требует 2 дополнительных программ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .