GNU/Linux >> Linux Esercitazione >  >> Debian

Come creare la tua stazione radio Internet con Icecast e Mixxx in esecuzione su Ubuntu / Debian o Fedora

Questo articolo spiega come creare la tua stazione radio Internet. Per raggiungere questo obiettivo, utilizziamo i programmi open source Icecast e Mixxx, che girano su Fedora o Debian, Ubuntu, Linux Mint, Pop! _OS e altre distribuzioni Linux basate su Debian/Ubuntu.

Icecast (Icecast 2) è un server multimediale in streaming che consente agli utenti di trasmettere in streaming la nostra stazione radio Internet e Mixxx è un'applicazione di mixaggio per DJ (che in questo caso puoi anche utilizzare come semplice lettore musicale, se necessario). utilizziamo per inviare il flusso audio al server di streaming Icecast2 grazie alla sua funzione di trasmissione live.

Vale la pena notare che puoi usare Icecast2 e Mixxx su qualsiasi altra distribuzione Linux (oltre a Windows e macOS) per creare la tua distribuzione Linux di stazioni radio Internet che usi, quindi questo articolo si concentrerà solo su Fedora e Debian / Ubuntu.

Prima di iniziare, lascia che ti dica qualcosa in più su Icecast e Mixxx.

Icecast è un server di streaming multipiattaforma gratuito, open source che supporta flussi Ogg Vorbis e Theora, MP3, Opus e WebM, con supporto per più flussi audio simultanei (ogni flusso è indicato come "punto di montaggio"). Il software può essere utilizzato per creare una stazione radio Internet pubblica, trasmettere privatamente sulla rete locale e molto altro. Esistono diversi tipi di client che possono connettersi a un server Icecast, sia per fornire un "punto di montaggio" per lo streaming di musica, come:B. Mixxx, sia per ascoltare l'audio trasmesso.

Mixxx è un software DJ gratuito e open source per Windows, Mac e Linux che include la maggior parte delle funzionalità presenti nel software DJS, oltre a funzionalità uniche come il supporto per controller MIDI avanzati e HID DJ. È stato sviluppato sia per DJ professionisti che amatoriali e offre, tra molte altre funzioni, BPM, rilevamento e sincronizzazione dei tasti, effetti, controllo del disco in vinile, DJ automatico e registrazione. Dalla versione 1.9 Mixxx abilita le trasmissioni live e supporta i server di streaming Shoutcast e Icecast.

Installa e configura Icecast e Mixxx per creare la tua stazione radio Internet

1. Installa Icecast.

Icecast può essere installato su un server separato o sullo stesso computer su cui Mixxx sta eseguendo la trasmissione.

Scarica Icecast per Linux / Unix e Windows.

Installa Icecast2 dai repository:

  • Installa Icecast2 su Debian, Ubuntu, Linux Mint, Pop! _OS e altre distribuzioni Linux basate su Debian/Ubuntu:

sudo apt install icecast2

Durante l'installazione di Icecast2 su Debian o Ubuntu, vengono presentate alcune opzioni di configurazione (non è il caso di Fedora):

Sostituisci la password preimpostata con la tua password. Se hai saltato la configurazione iniziale, puoi eseguirla di nuovo utilizzando sudo dpkg-reconfigure icecast2 . Puoi anche modificare queste impostazioni iniziali e altro modificando il file di configurazione di Icecast2 (ci arriveremo nel prossimo passaggio).

  • Installa Icecast su Fedora:
sudo dnf install icecast

2. Configura Icecast.

Il percorso del file di configurazione di Icecast su Debian / Ubuntu (installato da un gestore di pacchetti) è /etc/icecast2/icecast.xml mentre è su fedora /etc/icecast.xml . Puoi modificare questo file per cambiare le informazioni sulla stazione radio Internet Icecast2, impostare restrizioni (limitare il numero di client/ascoltatori), cambiare la password per gli utenti sorgente, relay e admin e altro.

Su Debian/Ubuntu, la configurazione iniziale di Icecast2 che appare quando installi Icecast2 per la prima volta dovrebbe occupare la maggior parte di questa configurazione. Puoi ancora modificare il file di configurazione di Icecast2.

Apri questo file di configurazione di Icecast come root con un editor di testo come Nano nell'esempio seguente (usa Ctrl + O , quindi Enter salvare il file con nano; Per uscire dall'editor nano dopo aver salvato il file, premi Ctrl + X ):

  • Debian, Ubuntu, Fedora, Linux Mint, Pop! _OS:
sudo nano /etc/icecast2/icecast.xml

  • Fedora:
sudo nano /etc/icecast.xml

In questo file puoi (tra le altre cose):

  • Posizione e amministratore

    <!-- location and admin are two arbitrary strings that are e.g. visible
         on the server info page of the icecast web interface
         (server_version.xsl). -->
    <location>Earth</location>
    <admin>localhost</admin>

Come accennato nei commenti sulla posizione e sulle impostazioni dell'amministratore, si tratta di informazioni che vengono visualizzate nella pagina delle informazioni del server radio Internet dell'interfaccia web di Icecast, cioè solo a scopo di visualizzazione.

Questa sezione non esiste di default su Fedora nel file di configurazione di Icecast (è comunque in cima al file di configurazione in Debian / Ubuntu).

  • Autenticazione

    <authentication>
        <!-- Sources log in with username 'source' -->
        <source-password>hackme</source-password>
        <!-- Relays log in with username 'relay' -->
        <relay-password>hackme</relay-password>
        <!-- Admin logs in with the username given below -->
        <admin-user>admin</admin-user>
        <admin-password>hackme</admin-password>
    </authentication>

Qui, assicurati di sostituire il hackme predefinito Password con le tue password.

  • Nome host, porta socket di ascolto, indirizzo bind e stream

    <!-- This is the hostname other people will use to connect to your server.
         It affects mainly the urls generated by Icecast for playlists and yp
         listings. You MUST configure it properly for YP listings to work!
    -->
    <hostname>localhost</hostname>
    <!-- You may have multiple <listen-socket> elements -->
    <listen-socket>
        <port>8000</port>
        <!-- <bind-address>127.0.0.1</bind-address> -->
        <!-- <shoutcast-mount>/stream</shoutcast-mount> -->
    </listen-socket>
    <!--
    <listen-socket>
        <port>8080</port>
    </listen-socket>

È possibile utilizzare questi valori predefiniti, il che significa che si esegue lo streaming solo su localhost e si utilizza 8000 come porta. In questo caso puoi accedere alla pagina web del server Icecast 2 nel tuo browser web tramite https://localhost:8000 e la pagina di amministrazione visitando https://localhost:8000/admin . Ma non ancora, perché nel passaggio successivo dobbiamo attivare e avviare (o riavviare) il servizio Icecast2.

Tuttavia, potresti voler modificare alcune di queste impostazioni. Sostituisci quel hostname Valore con il nome host/dominio o l'indirizzo IP utilizzato per il flusso. bind-address permette di limitare gli indirizzi su cui Icecast sta ascoltando; Se non viene specificato un indirizzo di collegamento per un particolare socket di ascolto (questa è la configurazione predefinita), il socket verrà associato a tutte le interfacce (incluso IPv6, se disponibile). La porta 8000 è utilizzata per impostazione predefinita da molti progetti, quindi potrebbe essere già in uso. In questo caso dovresti cambiarlo.

Ci sono molte altre impostazioni in questo file Icecast2, ma le impostazioni predefinite dovrebbero essere sufficienti nella maggior parte dei casi.

3. Attiva e avvia il server Icecast2.

Attiva e avvia il servizio Icecast2 in Debian / Ubuntu:

sudo systemctl --now enable icecast2

Attiva e avvia il servizio Icecast su Fedora:

sudo systemctl --now enable icecast

Ora puoi accedere alla pagina web del server Icecast nel tuo browser web visitando https://localhost:8000 (questo utilizza le impostazioni predefinite, potresti averlo modificato) e la pagina di amministrazione visitando https://localhost:8000/admin .

La pagina di stato e amministrazione di Icecast2 (con le informazioni sul punto di montaggio) dopo aver attivato la trasmissione in diretta in Mixxx:

Inoltre, devi riavviare il servizio systemd di Icecast2 ogni volta che apporti modifiche al suo file di configurazione. Questo è possibile con:

  • Debian/Ubuntu:
sudo systemctl restart icecast2

  • Fedora:
sudo systemctl restart icecast

Verifica lo stato del servizio Icecast con:

  • Debian/Ubuntu:
systemctl status icecast2

  • Fedora:
systemctl status icecast

4. Installa Mixxx.

Scarica Mixxx per Linux (pacchetti sorgente, Ubuntu e Fedora), Windows o macOS.

Installa Mixxx dai repository:

  • Su Debian / Ubuntu, Linux Mint, Pop! _OS ecc. puoi installare Mixxx dai repository (e libmp3lame0 per supportare gli stream MP3):

sudo apt install mixxx libmp3lame0

Puoi anche installare una versione più recente di Mixxx su Ubuntu o Linux Mint utilizzando il PPA menzionato nella pagina di download di Mixxx.

  • Su Fedora:

Abilita il repository RPMFusion gratuito (non gratuito non è richiesto) se non l'hai già fatto:

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

E installa Mixxx e lame (per lo streaming MP3):

sudo dnf install mixxx lame

5. Vai in diretta con la tua radio Internet! Configura Mixxx in modo che il flusso audio venga inviato al server di streaming Icecast2.

Dal Options Mixxx Inizio menu Preferences , quindi passa a Live Broadcasting Tab. Qui, dai un'occhiata a Server connection e metti:

  • Tipo:Icecast2
  • Host:il nome host specificato nelle impostazioni di Icecast2 (con "localhost" come predefinito)
  • Accesso:fonte
  • Password:la password che hai impostato per il nome utente “sorgente” nel file di configurazione di Icecast2 (nell'area di autenticazione).
  • Monte:/ flusso
  • Porta:8000 (questa è la porta predefinita, usa la tua porta personalizzata se l'hai modificata)

Questo è tutto ciò che devi impostare per far funzionare le cose. Puoi anche modificare la codifica (scegliere un bitrate più alto per lo streaming o cambiare il formato da MP3 a Ogg Vorbis), i metadati (le informazioni che appaiono quando un'app musicale sta riproducendo la tua stazione radio Internet) e abilitare "Public Stream", che mette la tua stazione radio Internet nella directory pubblica di Icecast affinché gli altri possano scoprirla.

Quando hai finito con queste impostazioni, fai clic su Apply e chiudi il Preferences Finestra.

È ora di aggiungere musica a Mixx. Fai doppio clic su un brano per aggiungerlo al deck 1, quindi fai clic sul pulsante di riproduzione di quel deck per iniziare a riprodurre il brano:

Ora puoi iniziare a trasmettere tramite Mixxx andando su. cammina Options -> Enable Live Broadcasting . La tua stazione radio Internet sarà quindi in diretta. In alto a destra della finestra di Mixxx è presente anche un'icona su cui puoi cliccare per abilitare/disabilitare la diretta. questo simbolo viene utilizzato anche per indicare lo stato della trasmissione in diretta:

Usa un lettore audio come VLC, Audacious ecc. e apri l'URL della tua radio Internet:https://localhost:8000/stream.m3u o https://localhost:8000/stream.xspf (con localhost e 8000 è il nome host e la porta predefiniti, che potresti aver modificato nelle impostazioni!). Puoi trovare questi link anche visitando la pagina di stato del tuo server Icecast2 nel tuo browser web:https://localhost:8000/status.xsl (sostituisci ancora localhost:8000 con il tuo nome host e porta).

Extra (questo è facoltativo):vuoi inviare a Icecast con Mixxx, ma Mixxx dovrebbe rimanere muto sul tuo sistema e solo i tuoi ascoltatori di radio Internet possono sentire il suono (questo significa che non tutti i suoni dal tuo sistema vengono inoltrati a lo stream Icecast, quindi viene riprodotto solo il suono in uscita da Mixxx sullo stream Icecast)? Per fare ciò, puoi eseguire JACK con un output fittizio. Installa JACK:

  • Debian/Ubuntu:
sudo apt install jackd

  • Fedora:
sudo dnf install jack-audio-connection-kit

Quindi, esegui JACK con un driver di output fittizio:

jackd -d dummy

Quindi vai a Mixxx Preferences -> Sound Hardware e imposta il Sound API Opzione anche JACK Audio Connection Kit (il Master L'output più in basso in questa pagina può essere impostato su None o system ). Se non vedi JACK nelle opzioni Sound API, riavvia Mixxx.


Debian
  1. Come proteggere il tuo server con badIPs.com e segnalare gli IP con Fail2ban su Debian

  2. Come utilizzare APT con proxy su Ubuntu e Debian

  3. Come installare Spamassassin con Postfix e Dovecot su Ubuntu/Debian Server

  4. Come installare Virtualbox 4.3 su Ubuntu/Debian/Fedora

  5. Come creare ed eliminare un utente su Debian 9

Come eseguire il dual-boot di Ubuntu e Fedora sul tuo PC

Come creare ed eseguire uno script di shell in Debian 10

Come visualizzare la velocità di Internet su Debian e Ubuntu Desktop

Come configurare ModSecurity con Nginx su Debian/Ubuntu

Come creare un utente Sudo su Ubuntu e Debian

Come creare un e-commerce con Prestashop e Ubuntu 18.04