1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
    Information ausblenden
  3. Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
    Information ausblenden

Streaming mit Linux

Dieses Thema im Forum "Sound, Video & Streaming" wurde erstellt von questargon Edelmann, 28. Juli 2012.

  1. questargon Edelmann

    questargon Edelmann Aktiver Nutzer

    Beiträge:
    436
    Zustimmungen:
    1
    Punkte für Erfolge:
    19
    Hallo Leute.

    Ich bin heute über ein Programm gestolpert, welches Streaming von Musik über Linux möglich macht: idjc. Das Ding ist verdammt vielseitig und hat auch die Option, ein Mikrofon in den Stream zu mischen... und vieles mehr. Soweit ich das überblicken kann, taugt das sogar als SAM - Ersatz. Ich bin immer noch dabei, mich durch all die Knöpfe und Regler durchzukämpfen. Einen Shoutcast-Stream in excellenter Qualität konnte ich dem Ding aber schon entlocken - Mit Mikrofon. Was ich jetzt noch rausfinden muss, ist, ob man dem Ding beibiegen kann, die Musik leiser zu machen, wenn das Mikro an ist. Aber das ist in all den Optionen sicher auch versteckt.

    Falls ihr selber mal rumspielen wollt, braucht ihr:

    • Linux (Ich verwende Fedora mit den rpmfusion repositories RPM Fusion - RPM Fusion)
    • idjc
    • jack-audio-connection-kit (Wird IIRC mit idjc automatisch mitinstalliert. Das ist ein Soundserver, der NICHT parallel zu pulseaudio betrieben werden kann... leider. Hier empfiehlt es sich, eine 2. Soundkarte im Rechner zu haben. Ansonsten gibt es hier Tips: How use PulseAudio and JACK? | JACK)
    • qjackctl zur Kontrolle und Konfiguration von jackd
    • lame-devel Paket für die MP3-Unterstützung
    • libmad-devel MPEG audio decoder library development files

    So... jetzt lass ich euch wieder alleine und spiel mal weiter. Falls Interesse besteht, werde ich wiederkehren und mein Setup hier weiter erläutern ;-)
     
    Zuletzt bearbeitet: 28. Juli 2012
  2. Jojo1905 Guardian

    Jojo1905 Guardian Aktiver Nutzer

    Beiträge:
    330
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hmm... ich nutz zwar kein Linux aber der Link klingt interessant für alle Linux Nutzer!
    berichte doch bitte weiter, wenn du Zeit hast vielleicht auch nen How-Too?

    werd oft nach Linux Streaming progs gefragt, aber hab nun mal Windoof....

    jojo
     
  3. eighthdwarf Checchinato

    eighthdwarf Checchinato Superstar

    Beiträge:
    4.760
    Zustimmungen:
    448
    Punkte für Erfolge:
    93
    Bei openSUSE bekommt man das über das packman-Repository. :p
    Mehr Infos, auch kurze Tuts gibts auf der Projektseite: Internet DJ Console Homepage :)
     
  4. questargon Edelmann

    questargon Edelmann Aktiver Nutzer

    Beiträge:
    436
    Zustimmungen:
    1
    Punkte für Erfolge:
    19
    Hi Leute,

    so... ich bin etwas weiter gekommen mit dem Programm. Ich werde hier mal die Schritte aufzählen, die ich zur Installation unter Fedora 17 gebraucht habe. Andere Linux-Distributionen müssten ähnlich funktionieren.

    Installation der nötigen Software

    Die Schritte im einzelnen (installation der Software natürlich als "root"-User oder via "sudo" durchführen):

    Code:
    yum install jack-audio-connection-kit qjackctl lame-devel libmad-devel idjc
    
    Dabei sind:
    • jack-audio-connection-kit: Das Echtzeit-Audiosystem, über welches idjc die lokale Soundausgabe regelt.
    • qjackctl: Ein Frontend zur einfachen Steuerung und Konfiguration von jackd.
    • lame-devel + libmad-devel: Werden von idjc genutzt, um MP3 und MPEG-Audiodaten zu verarbeiten.
    • idjc: Das eigentliche DJ-Streaming-Programm.

    Vorbereitungen für den Start von idjc

    Der User, der idjc verwenden soll, muss in die Gruppe "jackuser" [Nachtrag: UND die Gruppe "audio" wegen direktem ALSA-Zugriff für jackd] mit aufgenommen werden. Das kann man bequem über system-config-users erledigen:

    gruppensetup.jpg
    (Klicken zum Vergrößern)

    [Nachtrag: Damit die Änderungen greifen, muss man sich ggf. nochmal abmelden und neu anmelden. Der Befehl "groups" in einem Terminal sagt einem, in welchen Gruppen man jetzt ist.]

    Zuerst muss man Pulseaudio für die Soundkarte abschalten, über die man seinen Stream monitoren will. Man kann das über das Lautsprechersymbol erledigen, oder sich pavucontrol installieren und es darüber versuchen. Bei dem Reiter "Konfiguration" muss man das Profil der gewünschten Soundkarte auf "Aus" stellen, dann behandelt pulseaudio diese Soundkarte nicht mehr und der Weg ist frei für jackd.

    pulseaudio_setup.jpg
    (Klicken zum Vergrößern)

    Jetzt ist es an der Zeit, den jackd für die Soundkarte zu starten. Dazu starte man qjackctl. Hier muss man jetzt über den Button "Einstellungen..." die Soundkarte auswählen, die man vorher von Pulseaudio "befreit" hat (Dazu den Button mit ">" neben dem Eintrag "Schnittstelle" anklicken und die Soundkarte auswählen, siehe Screenshot).

    qjackctl_soundkarte.jpg
    (Klicken zum Vergrößern)

    [Nachtrag: Der idjc ist normalerweise so eingestellt, dass er die Samplerate des jackd übernimmt. Wenn man das so machen will, dann muss man hier bei Abtastrate die Samplerate einstellen, die auch der (Shoutcast-)Streaming-Server verwendet.]

    Den Dialog schließen und im Hauptfenster den Button "> Start" drücken. jackd sollte jetzt bereitstehen.

    qjackctl_gestartet.jpg
    (Klicken zum Vergrößern)

    Mit dem laufenden jackd im Hintergrund kann man jetzt idjc starten. Man sieht zuerst einen Dialog, bei dem man ein Profil auswählen kann. Da einfach den Button "öffnen" für das Standardprofil drücken und man ist im Hauptprogramm. Wenn man das Programm über eine Kommandozeile gestartet hat, bekommt man auch noch hilfreiche Statusinformationen dort. Die sollten, wenn man alles richtig gemacht hat, in etwa so ausschauen (Die hier auftretenden Fehler sind bei einem frischen Profil normal):

    Code:
    [duke@cheese ~]$ idjc
    jack client IDs: idjc-mx_empty idjc-sc_empty
    shout_initialiser: shout_init called
    started 6 encoders, 6 streamers, 2 recorders
    threads initialised
    jack sample rate is 48000
    [Errno 2] Datei oder Verzeichnis nicht gefunden: PathStr('/home/duke/.config/idjc/profiles/default/s_data')
    activated ch 1
    Failed to read playerdefaults file
    Restoring previous session
    activated ch 3
    activated ch 4
    entering stereo mode, ch 4
    
    ... und das Hauptprogramm sollte jetzt auf eurem Bildschirm erscheinen:

    idjc.jpg
    (Klicken zum Vergrößern)

    [...]​
     
    Zuletzt bearbeitet: 1. August 2012
  5. questargon Edelmann

    questargon Edelmann Aktiver Nutzer

    Beiträge:
    436
    Zustimmungen:
    1
    Punkte für Erfolge:
    19
    [...]​

    Einrichten des "Streaming Servers"

    Das Ziel, zu dem "gestreamt" werden soll, stellt man im idjc unter "Output" ein (im Menü ganz unten links, welches ein Fenster-Icon trägt)

    idjc-output-menu.jpg

    Im folgenden Dialog muss man zuerst die "1" ganz oben bei "Group Controls" anhaken. Dann den Button "> Configuration" drücken. Wenn man Streaming-Infos übertragen will, muss man bei "Metadata" darunter "%r - %t" stehen haben (Kann man dort auswählen). Der Dialog sollte jetzt wie folgt ausschauen:

    idjc-output-dialog.jpg

    Einen neuen Server trägt man über den Button "Neu" in die Liste unter "Connection" ein, z.Bsp.:

    idjc-output-new-shoutcast.jpg

    Jetzt sollte man das gewünschte Audioformat unter dem Reiter "Format" einstellen. Wenn der Rechner potent genug ist, kann man dort alles auf höchste Qualität stellen. Die Samplerate sollte natürlich mit dem Shoutcast-Server übereinstimmen.

    [Nachtrag: Per default bestimmt der jackd die Samplerate. Wenn man das beibehalten will, muss man beim qjackctl oben die korreke Samplerate einstellen]

    idjc-output-setup-format.jpg

    Jetzt kann man ganz oben auf "Connect" drücken und der idjc sollte sich mit dem Server verbinden. Okay... jetzt müssen wir noch die Musik einspielen ;)

    [...]​
     
    Zuletzt bearbeitet: 31. Juli 2012
  6. questargon Edelmann

    questargon Edelmann Aktiver Nutzer

    Beiträge:
    436
    Zustimmungen:
    1
    Punkte für Erfolge:
    19
    [...]
    Einrichten des Mikrofons

    Das Einrichten ist ein Weg über einige Parameter, doch wenn man etwas genauer wissen will, kann man einfach mit der Maus über die einzelnen Einträge fahren und kurz warten. Die Popup-Hilfe erklärt sehr viel bei dem Programm.

    Zuerst muss man die "Preferences" aufrufen. Das geht über das gleiche Menü, wo man auch den "Output" gefunden hat (s.o.). Dort im Reiter "General" geht's los:

    • "Restrict the stream audio ceiling to -2dB" hab ich bei mir angewählt, da es sonst bei mir zu Übersteuerungen kommt. Der Stream wird zwar etwas leiser, verzerrt aber nicht.
    • "Player Resample Quality" auf "Highest".

    idjc-preferences-general.jpg

    Unter dem Reiter "Channels" stellt man verschiedene Input-Channels ein, die man auf den Stream mixen kann. Darunter auch das Mikrofon, hier kurzerhand "DJ" genannt.

    • "The amount of headroom required (dB)". Das hab ich bei mir auf 32db gestellt, weil ich ein so verflucht leises Mikro habe. Um diesen Wert wird der Stream leiser geschaltet, wenn man den "DJ"-Button im Hauptfenster drückt und ins Mikro labern will.
    • "1 DJ" Unter diesem Fenster weiter unten im Dialog kann man verschiedenste Parameter für diesen Kanal einstellen. Ich habe diese erst mal unangetastet gelassen. Wer aber ein sanftes Ein- und Ausblenden will, sobald man seine Stimme erhebt, sollte "Ducker" (vorletzter Eintrag in der Liste) einschalten. Achtung, dann aber nicht Husten oder sinnlos vor sich hinlabern... das wird dann alles automatisch übertragen, wenn man zu laut wird ;-).

    idjc-preferences-channels.jpg

    Hat man das alles eingerichtet, kann man jetzt seine Stimme via Mikrofon auf den Stream mischen. Dazu kann man entweder das grüne Telefon bedienen, welches auch den "DJ"-Button für das Mikro automatisch mit aktiviert - oder man drückt den "DJ"-Button direkt. Achtung!!! Wenn man das Telefon benutzt, muss man das zuerst abschalten, bevor man das Mikro via DJ-Button wieder abschalten kann.

    idjc-micro-on.jpg

    Los geht's...

    Das war's soweit - ihr könnt jetzt eure Playlisten in die beiden Playlist-Fenstern zusammenstellen (via Drag&Drop ziehen geht auch) und nach Herzenslust loslegen. Der Rest des Programms ist aufgebaut wie die meisten anderen DJ-Programme. Was man damit alles machen kann, müsst ihr selber herausfinden - da kenn ich mich leider (noch) nicht so mit aus.

    Viel Spaß!! :)
     
    Zuletzt bearbeitet: 29. Juli 2012
  7. Swapps Swenson

    Swapps Swenson Gründer

    Beiträge:
    8.738
    Zustimmungen:
    2
    Punkte für Erfolge:
    38
    Super Tutorial. Danke!
     
  8. Jojo1905 Guardian

    Jojo1905 Guardian Aktiver Nutzer

    Beiträge:
    330
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hey Swaps mach den doch mal siky!

    Jojo
     
  9. Swapps Swenson

    Swapps Swenson Gründer

    Beiträge:
    8.738
    Zustimmungen:
    2
    Punkte für Erfolge:
    38
    Gute Idee... wurde oben angepinnt!
     
  10. questargon Edelmann

    questargon Edelmann Aktiver Nutzer

    Beiträge:
    436
    Zustimmungen:
    1
    Punkte für Erfolge:
    19
    Hallo Leute,

    einen hab ich noch: Ich hab herausgefunden, wie man via idjc Tracks vorhören und mischen kann:


    • Schaltet bei "Monitor Mix" (ganz links in der Box, wo auch der Crossfader ist) auf "DJ", dann wird der lokale Sound an eure Kopfhörer übermittelt und nicht das, was gestreamt wird.
    • Unter "Playlist 1" und "Playlist 2" könnt ihr jetzt mit den Buttons bei "Audio Feed", ["Stream"] und ["DJ"], wählen, wo der Sound ausgegeben werden soll. Wenn die Zuhörer mithören sollen, muss "Stream" eingeschaltet sein. Wenn ihr allerdings Tracks vorhören wollt, müsst ihr bei der entsprechenden Playlist "DJ" einschalten. Mit dem Crossfader könnt ihr dann zwischen den Playlists wechseln.
    • Für das "Beatmatching" kann man eine Seite auf "Stream" + "DJ" stellen, die andere Seite nur auf "DJ". So könnt ihr euren nächsten Track abstimmen, während das Publikum ausschließlich die Seite hört, bei der "Stream" eingeschaltet ist. Wenn ihr die Playlist dann für's Publikum wechselt, solltet ihr natürlich beide Playlists auf "Stream" stehen haben... sonst wird es nach dem crossfaden still. ;-)

    Viel Spaß beim ausprobieren.

    :dance

    P.S.: Automatische Anpassung der BPM oder der Tonhöhe hat das Programm allerdings nicht (oder ich hab das einfach nicht gefunden). Hier ist Handarbeit und Knowhow des DJs gefordert - oder man schaut sich das Programm "mixxx" an. ;-)
     
    Zuletzt bearbeitet: 2. August 2012
  11. Dianna Loxely

    Dianna Loxely Superstar

    Beiträge:
    1.625
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Ich benutze es seit etwa einem Jahr für ein wenig Inworld DJing :)
    Sehr robust und rechenlastfreundlich.

    Danke fürs Publizieren