Leiten Sie die Traktor-Ausgabe mithilfe von Transcoder unter MacOS an Shoutcast / Icecast weiter

633
Jan Vladimir Mostert

Ich versuche, meinen lokalen icecastStream an einen externen icecast/ shoutcastStream weiterzuleiten . Traktor unterstützt nur das icecastStreaming zu einem lokalen Icecast-Server und die Verwendung eines Stream Transcoders, um die Musik an das Ziel weiterzuleiten, an dem die Benutzer sie hören.

Das Einrichten des lokalen Icecast-Servers war der einfache Teil

brew install icecast 

und dann einfach konfigurieren.

Eine empfohlene Lösung anstelle eines Transcoders ist die Verwendung von etwas wie BUTT oder LadioCast, um das gesamte Audio auf einem bestimmten Audiokanal zu streamen. Ich habe dies als letzten Ausweg aus Verzweiflung versucht - BUTT, ich bekomme es zum Verbinden und Streamen, aber (kein Wortspiel beabsichtigt) kann den Stream nicht im Browser zum Abhören öffnen, es zeigt lediglich 404. LadioCast dagegen Streams, Der Stream wird geöffnet, aber ich höre nur Stille, selbst wenn ich alle meine Soundkarten auswähle. Abgesehen davon, dass diese Lösungen nicht funktionieren, sind sie nicht genau das, wonach ich suche, da jede andere Alarmausgabe auf dem Computer ebenfalls gesendet wird.

Flüssigkeitsseife war die empfohlene Lösung in einem Artikel.

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

Fehler: Aufruf von Hardware.is_64_bit? ist behindert! Verwenden Sie Hardware :: CPU.is_64_bit? stattdessen. /usr/local/Homebrew/Library/Taps/drfill/homebrew-liquidsoap/Formula/liquidsoap.rb:66:in `mp3? ' Bitte melden Sie dies dem Drill / Liquidoap-Hahn! Oder noch besser: Reichen Sie eine PR ein, um das Problem zu beheben!

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 

Sobald es fertig ist, gibt es keine Flüssigkeitsseife mehr, versuchen wir es noch einmal ...

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 

Auf github hat bereits jemand das Problem mit der folgenden Antwort gemeldet: https://github.com/drfill/homebrew-liquidsoap/issues/32

Zur Zeit habe ich keine Zeit und kein Interesse, dieses Wasserhahn zu unterstützen. Es tut uns leid! Wenn Sie wissen, wie Sie damit umgehen sollen, können Sie das Problem mit PR beheben.

Eine andere Option ist in macOS installiert (siehe # 26)

Also ist es jetzt opamnotwendig, dies zu tun:

brew install opam opam install liquidsoap 

opam beschwert sich darüber, dass meine ocaml-Version 4.06.1anstelle < 4.06.0eines manuellen Downgrades der ocaml-version stattfand und mehr Dinge einfach bombouten. Deshalb habe ich hier einen Fehler protokolliert: https://github.com/savonet/liquidsoap/issues/538

Daher funktioniert Liquidsoap im Moment nicht unter MacOS

Jemand hat vorgeschlagen, Nicecast zu verwenden. Die Homepage sagt wörtlich folgendes: https://rogueamoeba.com/nicecast/

Am 28. Februar 2018 wurde Nicecast aus der aktiven Entwicklung genommen. Nicecast wird bis Ende 2018 unterstützt. Weitere Updates sind jedoch nicht mehr geplant.

Bestehende Kunden können Nicecast weiterhin auf unterstützten Systemen verwenden. Leider erwarten wir jedoch, dass Änderungen in zukünftigen MacOS-Updates Nicecast völlig inkompatibel machen. Daher sollten Sie bei der Aktualisierung von Produktionsumgebungen vorsichtig sein.

Längerfristig ermutigen wir die Benutzer, alternative Lösungen für den Rundfunk zu finden. Wir erwägen auch zukünftige Lösungen, um Benutzern zu helfen, auf modernere Streaming-Optionen zu übertragen. Wir hoffen, in Zukunft noch mehr zu besprechen.

Nicecast ist also auch tot.

Mit Loopback ( https://rogueamoeba.com/loopback/ ), mit dem eine virtuelle Soundkarte erstellt wird, kann ich BUTT anweisen, die virtuelle Soundkarte zu übertragen (die hervorragend funktioniert), aber ich kann keinen Weg finden, Traktor die Aufteilung zu ermöglichen Haupt- und Monitorausgang. Wenn ich damit beschäftigt bin, das zweite Deck vorzumischen und zu hören, wird dies auch über die virtuelle Soundkarte abgespielt, was bedeutet, dass es auch gesendet wird.

Weitere Vorschläge zur Übertragung meines Icecast-Streams an einen externen Shoutcast-Server? Ich habe scheinbar viele halbarbeitende Lösungen gefunden, von denen keine zu 100% funktionierte.

0

1 Antwort auf die Frage

0
Jan Vladimir Mostert

Ok, nach mehr Graben fand ich eine wahnsinnig komplexe Lösung, aber es funktioniert!

Zunächst einmal müssen wir zunächst eine virtuelle Soundkarte mit Loopback einrichten ...

(Loopback ist nicht kostenlos und kostet ungefähr genauso viel wie Traktor Pro, aber es funktioniert zumindest.)

Wenn Sie Ihre Ausgabe auch über einen Satz großer Lautsprecher wiedergeben möchten, fügen Sie hier einige Routing-Regeln hinzu, um das Audio an Ihre externen Lautsprecher monitor audio throughweiterzuleiten. Stellen Sie jedoch zunächst sicher, dass es angekreuzt ist, und lassen Sie es genau so wie in der Screenshot

Als Nächstes erstellen wir eine Aggregate-Soundkarte. Etwas, von dem ich nicht wusste, dass es unter MacOS möglich ist! Wählen Sie unter Dienstprogramme das Audio MIDI Setup ...

Dadurch wird eine Liste der Audiogeräte angezeigt. Klicken Sie +unten links und wählen Sie Create Aggregate Device. Doppelklicken Sie auf den Namen und benennen Sie ihn in etwas nützlicheres um.

Loopback AudioStellen Sie sicher, dass Sie Ihren Kopfhörerausgang sowie den zuvor in Loopback eingerichteten Kopfhörerausgang auswählen.

Vergewissern Sie sich anschließend in Traktor, dass Sie Ihre Audioausgabe in die neue Aggregat-Soundkarte ändern, die wir aufgerufen haben Traktor Output

Unter dem Output-Routing wird der Zauber entstehen! Da wir unter der Aggregat-Soundkarte zwei Soundkarten hinzugefügt haben, können diese Ausgänge nun unter Output Monitorund einzeln ausgewählt werdenOutput Master

Als Nächstes verwenden wir butt, um das Audio von der Loopback-Soundkarte aufzunehmen und zu übertragen.

Zusammenfassend gibt Traktor das Audio über eine Aggregate-Soundkarte aus, die einen Kopfhörerausgang sowie eine von Loopback bereitgestellte virtuelle Soundkarte enthält. buttwird dann verwendet, um den Ton von der virtuellen Soundkarte aufzunehmen und an Shoutcast- oder Icecast-Streams zu senden. Alle Streamwechsel erfolgen dann direkt im Inneren butt.

Endlich können Ihre Songs jetzt im Stream aufgenommen werden, hoffentlich gibt es irgendwann eine einfachere Lösung, für die keine zusätzliche Software erforderlich ist.