本文介紹如何創建您自己的互聯網廣播電台。為了實現這一點,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 軟件,除了 DJ 軟件中的大多數常見功能外,還具有高級 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 互聯網廣播電台的信息,設置限制(限制客戶端/聽眾的數量),並選擇“源”、“中繼”和“管理員”用戶。您可以更改它。

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

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

, 所以
Enter

使用 Nano 保存文件。保存文件並退出 Nano Editor 後,按。
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 添加音樂了。雙擊音樂曲目以將其添加到 Deck 1,然後單擊該 Deck 上的播放按鈕開始播放歌曲。

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。