使用 Icecast2 广播音频

使用 Icecast2 广播音频

将声卡的输出作为互联网广播流进行广播是一种可靠的网络音频传输方式。这可以很好地用于例如通过无线局域网将音频传输到另一台计算机或任何其他能够播放互联网广播流的设备。

但是我并没有找到关于如何进行设置的简单分步指南。

答案1

使用 Icecast2 广播音频


1. 安装Icecast2 安装 icecast2


2.编辑Icecast2配置

/etc/icecast2/icecast.xml在编辑器中以 root 身份打开文件。出于安全原因,您应该在以下<authentication>部分设置密码:

<admin-user>admin</admin-user>
<admin-password>hackme</admin-password> 

如果您更改了<source-password>或,则<relay-password>还需要在源端或中继端进行更改。这意味着保留其默认值或在 ices2.xml 文件中进行更改(见下文)。在 Ices 或 Darkice 配置文件中也需要进行相同的操作。

您还需要定义可以访问您的流的主机名:

<hostname>localhost</hostname>

保留为本地主机(无需提供已解析的 IP)当您只想在本地网络中进行流式传输时。默认监听端口为 8000。仅在需要时更改它。


3. 编辑默认值

以 root 身份在编辑器中打开该/etc/default/icecast2文件。最后一行需要更改为

ENABLE=true

Icecast2 就这些了。当然,您还可以使用更多设置。配置文件中有参数说明。

4. 启动/停止 Icecast

服务器通过以下命令启动和停止:

/etc/init.d/icecast2 start
/etc/init.d/icecast2 stop

在运行 Icecast 服务器时,http://localhost:8000/admin/输入步骤 1 中定义的管理员凭据后,可以从任何浏览器进行管理。更多文档可从Icecast.org

Stream2ip是一个图形前端,用于快速启动和停止流,其中已经完成了 Ices2、Ices 或 Darkice 的基本设置。


Ices2 安装 ices2用于从本地声卡流式传输 OGG Vorbis 音频

要设置 pulseaudio 以启用从声卡录音,请参见下面有关 Darkice 的注释。

为 Ices2 创建目录

mkdir /var/log/ices   # in case you need logfiles.  
mkdir /etc/ices2      # for putting ices stuff in.  

编辑 Ices2 配置 .xml

Ices2 将使用 .xml 文件进行设置。详细的配置示例可以在 中找到/usr/share/doc/ices2/examples/。这些文件需要根据您的需要进行编辑,并且可以复制到任何地方,最好放在您的主目录中。根据配置文件,Ices2 使用播放列表奥格沃比斯格式(ices-playlist.xml)或声卡的输出(ices-alsa.xml)作为 Icecast2 的流媒体源。

如果您已将声音系统设置为 PulseAudio,则可能需要在本节中<input>替换设备。为此,请将相应的行编辑为:

<param name="device">pulse</param>

接收客户端的流的名称在下一节中定义。

<mount>/example1.ogg</mount>

开始串流

首先运行 Icecast2 服务器,然后使用以下命令运行 Ices2,即可启动声卡的流:

/etc/init.d/icecast2 start
ices2 /home/user/somewhere/ices-pulse.xml # or any other name from .xml file

设置接收器

在接收器端,您的广播“电台”正在收听:您的流媒体服务器的 IP 是<serverIP>:8000/example1.ogg哪里,后面跟着您在 icecast.xml 文件中定义的端口(默认为 8000)。<serverIP>

终止流媒体

通过终止 Ices2 和/或停止运行 Icecast2 服务器来终止流:

killall ices2
/etc/init.d/icecast2 stop

冰淇淋用于播放 mp3 播放列表

广播包含以下内容的播放列表mp3 文件使用 Ices2 无法完成。我们需要安装,我们必须从源代码安装

在设置了服务器地址、密码和流媒体属性的配置文件后(可以在中找到详细记录的示例/usr/share/doc/ices/examples),我们可以通过以下方式通过 Icecast2 服务器从播放列表(例如 .m3u 格式)流式传输 mp3 音频文件:

/etc/init.d/icecast2 start
ices -c <path_to_config_file> -F <path_to_playlist>

要了解更多选项,请阅读来自的相当详细的手册页中的文档man ices


暗冰 安装 darkice用于直播

我们可以使用以下方式将本地声卡的输出流式传输为 OGG Vorbis 或 mp3 流暗冰。要启用本地声卡的流式传输,我们可能需要先在 pulseaudio 中定义 Darkice 的录音设备。这可以通过帕武控制 安装 pavucontrol。 在里面记录选项卡Monitor of <your soundcard>选择“ALSA 插件 [darkice]”

配置文件(中给出了详细记录的示例/usr/share/doc/darkice/examples)需要适应 Icecast 服务器和本地声音环境:

[general]
duration        = 0      # duration in s, 0 forever
bufferSecs      = 1      # buffer, in seconds
reconnect       = yes    # reconnect if disconnected

[input]
device          = default # or `pulse' for Pulseaudio
sampleRate      = 44100   # sample rate 11025, 22050 or 44100
bitsPerSample   = 16      # bits
channel         = 2       # 2 = stereo

[icecast2-0]
bitrateMode     = vbr       # variable bit rate (`cbr' constant, `abr' average)
quality         = 1.0       # 1.0 is best quality
format          = mp3       # format. Choose `vorbis' for OGG Vorbis
bitrate         = 256       # bitrate
server          = localhost # or IP
port            = 8000      # port for IceCast2 access
password        = hackme    # source password to the IceCast2 server
mountPoint      = mystream.mp3  # mount point on the IceCast2 server .mp3 or .ogg
name            = mystream

保存此配置后(例如~/music/darkice.cfg),我们首先运行 Icecast 服务器,然后通过调用以下命令从本地声卡流式传输 pulseaudio 输出:

/etc/init.d/icecast2 start
darkice -c ~/music/darkice.cfg

在我们调整http://<localhost>:8000/mystream.mp3收听的接收器上,<localhost>是 Icecast 服务器的 IP。

相关内容