本文介紹如何創建您自己的互聯網廣播電台。為了實現這一點,Fedora 或 Debian、Ubuntu、Linux Mint、Pop! 使用在 _OS 和其他基於 Debian / Ubuntu 的 Linux 發行版上運行的 Icecast 和 Mixxx 開源程序。

Icecast(Icecast 2)是一個流媒體服務器,允許用戶流式傳輸互聯網廣播電台,而 Mixxx 是一個 DJ 混音應用程序(在這種情況下,如果需要,它也可以用作簡單的音樂播放器)。實時流媒體功能將音頻流饋送到 Icecast2 流媒體服務器。

值得注意的是,您可以在其他 Linux 發行版(以及 Windows 和 macOS)上使用 Icecast2 和 Mixxx 來創建自己的互聯網廣播電台,但軟件包名稱和路徑可以根據具體情況而有所不同。 Linux 發行版。因此,本文只關注用於 Debian / Ubuntu 的 Fedora。

在開始之前,讓我們仔細看看 Icecast 和 Mixxx。

Icecast 是一個免費的開源跨平台流媒體服務器,支持 Ogg Vorbis 和 Theora、MP3、Opus 和 WebM 流,並支持多個同時音頻流(每個流稱為“掛載點”)。..您可以使用此軟件創建公共互聯網廣播電台、本地網絡上的私人廣播等等。 有多種客戶端類型可以提供“掛載點”以連接到 Icecast 服務器、流式傳輸音樂(如 Mixxx)和收聽廣播音頻。

Mixxx 是適用於 Windows、Mac 和 Linux 的免費開源 DJ 軟件,它包含 DJS 軟件中的大多數常見功能,以及高級 MIDI 和 HID DJ 控制器支持等獨特功能。它專為專業和業餘 DJ 設計,具有 BPM、鍵檢測和同步、效果、黑膠控制、自動 DJ 和錄音以及許多其他功能。從 1.9 版本開始,Mixxx 允許直播並支持 Shoutcast 和 Icecast 流媒體服務器。

安裝和配置 Icecast 和 Mixxx 以創建您自己的網絡收音機

1. 安裝 Icecast。

Icecast 可以安裝在另一台運行 Mixxx 的服務器上進行廣播,也可以安裝在同一台計算機上。

下載適用於 Linux/Unix 和 Windows 的 Icecast。

從存儲庫安裝 Icecast2。

  • Icecast2 適用於 Debian、Ubuntu、Linux Mint、Pop! 在 _OS 和其他基於 Debian / Ubuntu 的 Linux 發行版上安裝。
sudo apt install icecast2

在 Debian 或 Ubuntu 上安裝 Icecast2 時,會彈出一些配置選項(對於 Fedora)。

在任何一種情況下,都將默認密碼替換為您自己的密碼。如果您跳過了初始設置,您可以使用以下命令再次運行它:
sudo dpkg-reconfigure icecast2

.. 您還可以編輯 Icecast2 配置文件(在下一步中討論)以更改這些首選項等。

  • 安裝 Icecast Fedora。
sudo dnf install icecast

2. 設置 Icecast。

Debian / Ubuntu Icecast 配置文件路徑(從包管理器安裝)
/etc/icecast2/icecast.xml

在 Fedora 中
/etc/icecast.xml

..編輯此文件以更改Icecast2 Internet 廣播電台的信息,設置限制(限制客戶端/聽眾的數量),並選擇“Source”、“Relay”和“Administrator”用戶。您可以更改它。

在 Debian / Ubuntu 上,首次安裝 Icecast2 時出現的初始 Icecast2 配置需要處理大多數配置。 您可以繼續編輯 Icecast2 配置文件。

在下面的示例中,使用文本編輯器(例如 Nano)以 root 身份打開此 Icecast 配置文件(
Ctrl + O

, 所以
Enter

使用 Nano 保存文件。保存文件並退出 Nano 編輯器後,按。
Ctrl + X

):

  • Debian、Ubuntu、Fedora、Linux Mint、Pop! _操作系統:
sudo nano /etc/icecast2/icecast.xml
  • 軟呢帽:
sudo nano /etc/icecast.xml

在此文件中,您可以更改(尤其是):

  • 位置和管理
    <!-- 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>

這是在 Icecast Web 界面的 Internet 廣播服務器信息頁面上顯示的信息,如位置和管理員設置中所述,僅用於顯示目的。

Fedora 的 Icecast 配置文件中默認不存在該部分(儘管它位於 Debian / Ubuntu 配置文件的開頭)。

  • 確認
    <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>

一定要替換這裡的默認值
hackme

密碼和您自己的密碼。

  • 主機名、監聽套接字端口、綁定地址和流
    <!-- 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>

您可以選擇使用這些默認值。也就是說,它使用 8000 作為端口,並且只在本地主機上流式傳輸。在這種情況下,您可以使用以下 Web 瀏覽器訪問 Icecast2 服務器網頁:
https://localhost:8000

和管理員訪問頁面
https://localhost:8000/admin

..還沒有,因為下一步是啟用並啟動(或重新啟動)Icecast2 服務。

但是,我們建議您更改其中一些設置。交換
hostname

帶有用於流的主機名/域或 IP 地址的值。
bind-address

您可以限制 Icecast 監聽的地址。如果沒有為特定的監聽套接字指定綁定地址(這是默認配置),則套接字綁定到所有接口(包括 IPv6,如果可用)。許多項目默認使用端口 8000,因此它可能已經在使用中。在這種情況下,您需要更改端口。

這個 Icecast2 文件中還有很多其他設置,但大多數情況下默認值就足夠了。

3. 啟用並啟動 Icecast2 服務器。

從 Debian / Ubuntu 上啟用的 Icecast2 服務開始。

sudo systemctl --now enable icecast2

從啟用 Icecast 服務 Fedora 開始。

sudo systemctl --now enable icecast

您現在可以通過訪問以下 Web 瀏覽器訪問 Icecast 服務器網頁:
https://localhost:8000

(這是使用默認值,您可能已更改它),並且通過以下方式訪問管理頁面
https://localhost:8000/admin

..

adminMixxx開始直播後Icecast2狀態及頁面(顯示掛載點信息):

Icecast2 狀態頁面

Icecast2 管理員掛載點信息頁面

每次更改配置文件時,您還需要重新啟動 Icecast2systemd 服務。這可以使用以下方法完成:

  • Debian / Ubuntu:
sudo systemctl restart icecast2
  • 軟呢帽:
sudo systemctl restart icecast

使用以下命令檢查 Icecast 服務的狀態:

  • Debian / Ubuntu:
systemctl status icecast2
  • 軟呢帽:
systemctl status icecast

4. 安裝 Mixxx。

下載適用於 Linux(源代碼、Ubuntu、Fedora 軟件包)、Windows 或 macOS 的 Mixxx。

從存儲庫安裝 Mixxx。

  • Debian / Ubuntu,Linux Mint,流行! 在 _OS 等設備上,您可以從存儲庫安裝 Mixxx(和支持 MP3 流的 libmp3lame0)。
sudo apt install mixxx libmp3lame0

您還可以使用 Mixxx 下載頁面上列出的 PPA 在 Ubuntu 或 Linux Mint 上安裝更新版本的 Mixxx。

  • 對於 Fedora:

如果您尚未啟用 RPMFusion,則不需要免費(非免費)存儲庫。

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

然後安裝 Mixxx 和 lame(用於 MP3 流媒體):

sudo dnf install mixxx lame

5. 使用網絡電台直播。配置 Mixxx 以將音頻流饋送到 Icecast2 流服務器。

Mixxx直播偏好icecast2

來自 Mixxx
Options

菜單開始
Preferences

然後切換
Live Broadcasting

標籤。過來往下看
Server connection

和設置:

  • 類型:Icecast2
  • host:在 Icecast2 設置中設置的主機名(默認為“localhost”)
  • 登錄:來源
  • 密碼:Icecast2 配置文件([認証]部分中為“源”用戶名設置的密碼)
  • 掛載:/流
  • 端口:8000(這是默認端口。如果更改此端口,請使用您自己的自定義端口)

這就是您需要設置的所有內容。更改編碼(選擇以更高的比特率流式傳輸或將格式從 MP3 更改為 Ogg Vorbis)、元數據(音樂應用播放互聯網站時顯示的信息)和“公共流式傳輸”您還可以啟用“添加網絡廣播” ”。站到 Icecast 公共目錄,以便其他人可以發現它。

這些設置完成後點擊 Apply 關閉這個 Preferences 窗戶。

是時候向 Mixx 添加音樂了。雙擊音樂曲目將其添加到卡座 1,然後單擊該卡座上的播放按鈕開始播放歌曲。

Mixxx 播放曲目

現在你可以去使用Mixxx並開始廣播了 Options -> Enable Live Broadcasting..當您這樣做時,互聯網廣播電台將開始直播。
Mixxx窗口的右上角還有一個圖標,您可以單擊該圖標來啟用/禁用直播。此圖標也用於指示直播的狀態。

Mixxx 啟用直播

使用 VLC 或 Audacious 等音頻播放器打開網絡電台的 URL。
https://localhost:8000/stream.m3u


https://localhost:8000/stream.xspf

(什麼時候
localhost

什麼時候
8000

是默認的主機名和端口。它可能已在設置中更改。 )。您還可以通過在 Web 瀏覽器中訪問 Icecast2 服務器狀態頁面找到這些鏈接。
https://localhost:8000/status.xsl

(重複,請更換
localhost:8000

使用主機名和端口)。

添加(可選):我想用Mixxx向Icecast廣播,但是我在系統上將Mixxx靜音,只有互聯網廣播聽眾才能聽到音頻(這也創建了系統上的所有聲音。播放Mixxx的聲音輸出在 Icecast 流中,因為甚至不能通過 Icecast 流)?
為此,您可以在虛擬輸出上運行 JACK。安裝傑克。

  • Debian / Ubuntu:
sudo apt install jackd
  • 軟呢帽:
sudo dnf install jack-audio-connection-kit

然後使用虛擬輸出驅動程序運行 JACK。

jackd -d dummy

在此之後,與 Mixxx
Preferences -> Sound Hardware

並設置
Sound API

選擇
JACK Audio Connection Kit

(這個
Master

該頁面底部的輸出可以設置如下:
None


system

)。 如果您在 Sound API 選項中沒有看到 JACK,請重新啟動 Mixxx。