0
I'm trying to forward my local icecast
stream to an external icecast
/ shoutcast
stream. Traktor only supports icecast
, so the recommended setup is streaming to a local icecast server and the using a Stream Transcoder to forward the music to the destination where people are listening to it.
Setting up the local icecast server was the easy part
brew install icecast
and then just configuring it.
One suggested solution instead of using a Transcoder is to use something like BUTT or LadioCast to stream all audio on a certain audio channel. I tried these as a last resort out of desperation - BUTT I get it to connect and stream, but (no pun intended) can't open the stream in the browser to listen, it just shows 404. LadioCast on the other hand streams, the stream opens, but I'm only hearing silence even if I'm selecting all 4 my soundcards. Besides these solutions not working, they are not exactly what I'm looking for since any other alert output on the computer will be broadcasted as well.
Liquidsoap was the recommended solution in one article.
brew tap drfill/liquidsoap
brew install liquidsoap --with-all
Error: Calling Hardware.is_64_bit? is disabled! Use Hardware::CPU.is_64_bit? instead. /usr/local/Homebrew/Library/Taps/drfill/homebrew-liquidsoap/Formula/liquidsoap.rb:66:in `mp3?' Please report this to the drfill/liquidsoap tap! Or, even better, submit a PR to fix it!
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
Once it's done, there's no liquidsoap anywhere, let's retry ...
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
Going to github, somebody already reported the issue with the following response: https://github.com/drfill/homebrew-liquidsoap/issues/32
Am currently have no time and interest to support this tap. Sorry! If You know how to deal with this, PR the fix.
Another option has in install on macOS, see #26
So now opam
is required to do this:
brew install opam
opam install liquidsoap
opam complains about my ocaml version being 4.06.1
instead of < 4.06.0
a manual downgrade of the ocaml version and more things just bomb out.
So I've logged a bug here for that: https://github.com/savonet/liquidsoap/issues/538
So liquidsoap doesn't work on MacOS at the moment
Somebody suggested using Nicecast, their homepage literally says the following: https://rogueamoeba.com/nicecast/
On February 28th, 2018, Nicecast was retired from active development. Nicecast will be supported through the end of 2018, but we no longer have plans for any further updates.
Existing customers can continue to use Nicecast on supported systems, but unfortunately, we expect that changes in future MacOS updates will render Nicecast wholly incompatible. As such, you should be cautious about updating any production environments.
Longer term, we encourage users to find alternate solutions for broadcasting. We're also considering future solutions to help users broadcast to more modern streaming options. We hope to have more to discuss in the future.
So nicecast is dead as well.
Using Loopback (https://rogueamoeba.com/loopback/) which creates a virtual sound card, I can tell BUTT to broadcast the virtual soundcard (which works brilliantly), but I can't find a way to tell Traktor to split the main and monitor output. As a result, when I'm busy premixing and listening to the second deck, that gets played over the virtual soundcard as well which means it gets broadcasted as well.
Any other suggestions for broadcasting my icecast stream to an external shoutcast server ? I seem to have found many half-working solutions, none of them working 100%.