如何使用在Ubuntu / Debian或Fedora上运行的Icecast和Mixxx创建自己的Internet广播电台-Linux Uprising Blog

如何使用在Ubuntu / Debian或Fedora上运行的Icecast和Mixxx创建自己的Internet广播电台-Linux Uprising Blog

如何使用在Ubuntu / Debian或Fedora上运行的Icecast和Mixxx创建自己的互联网广播电台

更新于 九月27,2019 ,操作

本文介绍了如何创建自己的Internet广播电台。为此,我们将使用在Fedora或Debian,Ubuntu,Linux Mint,Pop!_OS和其他基于Debian / Ubuntu的Linux发行版上运行的Icecast和Mixxx开源程序。

Icecast(Icecast 2)是一种流媒体服务器,它将允许用户流式传输我们的Internet广播电台,而Mixxx是DJ混合应用程序(如果需要的话,在这种情况下,您也可以将其用作简单的音乐播放器),由于其直播功能,我们将用于将音频流馈送到Icecast2流服务器。

值得注意的是,您可以在任何其他Linux发行版(以及Windows和macOS)上使用Icecast2和Mixxx创建自己的Internet广播电台,但是程序包的名称和路径可能有所不同,并且可能需要一些额外的调整,具体取决于您使用的Linux发行版,这就是为什么本文仅关注Fedora和Debian / Ubuntu。

在开始之前,让我告诉您有关Icecast和Mixxx的更多信息。

冰铸是一种免费的开源跨平台流服务器,支持Ogg Vorbis和Theora,MP3,Opus和WebM流,并支持多个同时的音频流(每个流称为“挂载点”)。该软件可用于创建公共Internet广播电台,在本地网络上私下广播等等。有多种客户端类型可以连接到Icecast服务器,以提供流音乐(例如Mixxx)的“挂载点”,或收听广播的音频。

Mixxx是免费的开源DJ软件,可在Windows,Mac和Linux上使用,它包括DJS软件中常见的大多数功能,以及独特的功能,例如对高级MIDI和HID DJ控制器的支持。它是为专业和业余DJ设计的,具有BPM,按键检测和同步,效果,黑胶唱片控制,自动DJ和录音以及许多其他功能。从1.9版本开始,Mixxx允许直播,支持Shoutcast和Icecast流服务器。

安装和配置Icecast和Mixxx以创建自己的Internet广播电台


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配置文件来更改这些初始设置以及更多其他设置(我们将在下一步中进行介绍)。


  • 在Fedora上安装Icecast:
sudo dnf install icecast

2.配置Icecast。

Debian / Ubuntu(从软件包管理器安装)上的Icecast配置文件路径为/etc/icecast2/icecast.xml,而在Fedora上为/etc/icecast.xml您可以编辑此文件来更改Icecast2 Internet广播电台信息,设置限制(限制客户端/侦听器的数量),更改“源”,“中继”和“管理员”用户的密码,等等。

在Debian / Ubuntu上,首次安装Icecast2时显示的初始Icecast2配置应处理大部分此配置。您仍然可以编辑Icecast2配置文件。

使用文本编辑器(如下面的示例中的Nano),以root身份打开此Icecast配置文件(使用Ctrl + O,然后Enter下面的示例中使用Nano ,然后使用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广播服务器信息页面上显示的信息,因此仅用于显示目的。

默认情况下,此部分在Icecast配置文件中的Fedora上不存在(尽管位于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浏览器中访问Icecast 2服务器网页http://localhost:8000,并通过访问来访问管理页面http://localhost:8000/admin还没有,因为我们需要在下一步中启用和启动(或重新启动)Icecast2服务。

但是您可能需要更改其中一些设置。hostname替换为将用于流的主机名/域或IP地址。bind-address允许限制Icecast监听的地址;如果未为特定的侦听套接字指定绑定地址(这是默认配置),则套接字将绑定到所有接口(包括IPv6,如果可用)。默认情况下,许多项目通常使用端口8000,因此它可能已在使用中,在这种情况下,您需要更改它。

这个Icecast2文件中还有许多其他设置,但是在大多数情况下,默认设置就足够了。

3.启用并启动Icecast2服务器。

在Debian / Ubuntu上启用并启动Icecast2服务:

sudo systemctl --now enable icecast2

在Fedora上启用并启动Icecast服务:

sudo systemctl --now enable icecast

现在,您可以通过访问http://localhost:8000(使用默认设置,可能已经更改了)在Web浏览器中访问Icecast服务器网页,并通过访问来访问管理页面http://localhost:8000/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(和libmp3lame0以支持MP3流):

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 Options菜单启动Preferences,然后切换到Live Broadcasting选项卡。在此查看Server connection并设置:

  • 类型:Icecast2
  • 主机:在Icecast2设置中设置的主机名(默认为“ localhost”)
  • 登录:来源
  • 密码:您为Icecast2配置文件(在身份验证部分中)的“源”用户名设置的密码
  • 挂载:/ stream
  • 端口:8000(这是默认端口,如果您更改了此端口,请使用自己的自定义端口)

这就是使一切正常运行所需的全部设置。您还可以更改编码(选择以更高的比特率传输或将格式从MP3更改为Ogg Vorbis),元数据(音乐应用播放您的Internet广播电台时显示的信息),并启用“公共流”以添加您的Internet广播电台到Icecast公共目录,以便其他人可以发现它。

完成这些设置后,单击Apply并关闭Preferences窗口。

现在是时候向Mixx添加一些音乐了。双击音乐曲目将其添加到卡座1,然后单击该卡座的播放按钮以开始播放歌曲:


现在,您可以转到,开始使用Mixxx进行广播Options -> Enable Live Broadcasting完成此操作后,您的Internet广播电台将开始运行。您还可以在Mixxx窗口的右上方单击一个图标以启用/禁用实时广播。此图标还用于指示实时广播状态:


使用音频播放器,例如VLC,Audacious等,然后打开Internet广播URL:http://localhost:8000/stream.m3uhttp://localhost:8000/stream.xspf(使用localhost8000作为默认主机名和端口,您可能已在设置中对其进行了更改!)。您也可以通过在Web浏览器中访问Icecast2服务器状态页面来找到这些链接:(http://localhost:8000/status.xsl同样,用localhost:8000主机名和端口代替)。

额外的(这是可选的):想要使用Mixxx广播到Icecast,但让Mixxx在您的系统上保持静音,并且只有Internet广播收听者听到音频(这也使来自系统的每个声音都不会传递到Icecast流中,那么只有来自Mixxx的声音会在Icecast流中播放)?您可以为此运行带有伪输出的JACK。安装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 KitMaster此页面下方输出可以设置为Nonesystem)。如果您在Sound API选项中没有看到JACK,请重新启动Mixxx。


Tags: published
April 27, 2020 at 11:13AM
Open in Evernote

评论

此博客中的热门博文

Telegram MTProto Proxy 介绍说明 – 开源代码|技术|教程资源|网络资源|首页不显示 – 如有乐享

监控FRPS端口并自动重启进程linux脚本_FRP教程_电脑博士

进阶Spring Boot(二)---Tomcat与Undertow 吞吐量对比 - 简书