本文介紹如何創建您自己的 Internet 廣播電台。為此,我們使用在 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 流,並支持多個同時的音頻流(每個流稱為“掛載點”)。您可以使用此軟件創建公共 Internet 廣播電台、本地網絡上的私人廣播等等。 有不同的客戶端類型可以連接到 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。
- 在 Debian、Ubuntu、Linux Mint、Pop!_OS 和其他基於 Debian/Ubuntu 的 Linux 發行版上安裝 Icecast2。
sudo apt install icecast2
在 Debian 或 Ubuntu 上安裝 Icecast2 後,會彈出一些配置選項(在 Fedora 上)。
用您自己的密碼替換每種情況下的默認密碼。如果您跳過了初始配置,您可以再次運行它sudo dpkg-reconfigure icecast2
您還可以通過編輯 Icecast2 配置文件(我們將在下一步中介紹)來更改這些初始設置等。
- 安裝 Icecast Fedora。
sudo dnf install icecast
2. 配置冰播。
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 編輯器。Ctrl + X
):
- Debian、Ubuntu、Fedora、Linux Mint、Pop!_OS:
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 作為端口並僅在 localhost 上進行流式傳輸。在這種情況下,要在您的網絡瀏覽器中訪問 Icecast 2 服務器的網頁,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
您現在可以在您的網絡瀏覽器中訪問 Icecast 服務器的網頁,方法是轉到https://localhost:8000
(這使用默認值,您可能已更改它)。通過以下方式訪問管理頁面https://localhost:8000/admin
.
admin Mixxx 開始直播後 Icecast2 狀態和頁面(顯示掛載點信息):
此外,每次更改配置文件時都必須重新啟動 Icecast2 systemd 服務。這可以使用以下方法完成:
- 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、Pop!_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 流服務器。
來自 MixxxOptions
開始菜單Preferences
,然後切換到Live Broadcasting
標籤。過來看看Server connection
並設置:
- 類型:冰鑄2
- host:Icecast2 配置中設置的主機名(默認為 ‘localhost’)
- 登錄:來源
- 密碼:您在 Icecast2 配置文件(身份驗證部分)中為“源”用戶名設置的密碼
- 掛載:/流
- 端口:8000(這是默認端口,如果您更改此端口,請使用您自己的自定義端口)
這就是您需要設置的所有內容。您還可以更改編碼(選擇以更高的比特率進行流式傳輸或將格式從 MP3 更改為 Ogg Vorbis)、元數據(音樂應用程序在播放互聯網電台時看到的信息),您還可以通過啟用公共流式傳輸來添加互聯網廣播。將您的電台添加到 Icecast 公共目錄,以便其他用戶可以找到它。
完成這些設置後, Apply
關閉這個 Preferences
窗戶。
是時候向 Mixx 添加音樂了。雙擊音樂曲目將其添加到卡座 1,然後單擊該卡座上的播放按鈕開始播放歌曲。
你現在可以去使用 Mixxx 並開始廣播了。 Options -> Enable Live Broadcasting
完成此操作後,您的互聯網廣播電台將開始直播。
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
)。如果您在聲音 API 選項中沒有看到 JACK,請重新啟動 Mixxx。