Bagaimana cara menyiapkan server Icecast untuk menyiarkan audio di jaringan saya?

63

Menyiarkan output kartu suara sebagai aliran radio internet adalah cara yang andal untuk mengalirkan audio dalam jaringan. Ini dengan baik dapat digunakan untuk misalnya mentransmisikan audio dalam LAN nirkabel ke komputer lain atau perangkat lain yang mampu memutar stream radio internet.

Namun saya tidak menemukan panduan langkah demi langkah yang mudah tentang cara mengatur ini.

Takkat
sumber

Jawaban:

75

Siarkan audio dengan Icecast2


1. Pasang Icecast2 Instal icecast2


2. Edit konfigurasi Icecast2

Buka file /etc/icecast2/icecast.xmlsebagai root di editor. Untuk alasan keamanan Anda harus mengatur kata sandi di <authentication>bagian ini:

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

Jika Anda mengubah <source-password>atau <relay-password>Anda perlu melakukannya di sisi sumber atau relay juga. Itu berarti membiarkannya default atau mengubahnya di file ices2.xml (lihat di bawah) juga. Hal yang sama perlu dilakukan dalam file konfigurasi Ices atau Darkice.

Anda juga perlu menentukan nama host tempat streaming Anda dapat dicapai:

<hostname>localhost</hostname>

Biarkan sebagai localhost (tidak perlu memberikan IP teratasi di sana) saat Anda hanya ingin melakukan streaming di jaringan lokal Anda. Port default untuk didengarkan adalah 8000. Ubah hanya jika diperlukan.


3. Edit default

Buka /etc/default/icecast2file sebagai root di editor. Baris terakhir perlu diubah menjadi

ENABLE=true

Itu saja untuk Icecast2. Tentu saja ada banyak pengaturan yang dapat Anda mainkan. Dalam file konfigurasi ada catatan penjelasan tentang parameter.

4. Mulai / Hentikan Icecast

Server dimulai dan dihentikan oleh perintah berikut:

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

Saat menjalankan server Icecast dapat diadministrasikan dari browser apa pun di http://localhost:8000/admin/setelah memasukkan kredensial administrator Anda yang didefinisikan pada langkah 1. Dokumentasi lebih lanjut tersedia dari Icecast.org .

Stream2ip adalah antarmuka grafis untuk memulai dan menghentikan streaming dengan cepat di mana pengaturan dasar untuk Ices2, Ices atau Darkice telah dilakukan.


Ices2 Instal es2 untuk streaming audio OGG Vorbis dari kartu suara lokal

Untuk mengatur pulseaudio untuk memungkinkan perekaman dari kartu suara lihat catatan untuk Darkice di bawah ini.

Buat direktori untuk Ices2

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

Edit konfigurasi Ices2 .xml

Ices2 akan berjalan menggunakan file .xml untuk pengaturan. Contoh konfigurasi yang banyak dapat ditemukan di /usr/share/doc/ices2/examples/. File-file ini perlu diedit untuk memenuhi kebutuhan Anda dan dapat disalin di mana saja, terbaik di direktori home Anda. Bergantung pada file konfigurasi, Ices2 menggunakan daftar putar dalam format Ogg Vorbis ( ices-playlist.xml) atau output dari kartu suara Anda ( ices-alsa.xml) sebagai sumber streaming untuk Icecast2.

Di bagian ini <input>Anda mungkin perlu mengganti perangkat jika Anda telah mengatur sistem suara Anda ke PulseAudio. Untuk melakukan ini, edit baris yang sesuai ke:

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

Nama aliran untuk klien penerima didefinisikan di bagian berikut.

<mount>/example1.ogg</mount>

Mulai Streaming

Streaming dari kartu suara Anda akan dimulai dengan terlebih dahulu menjalankan server Icecast2, dan kemudian menjalankan Ices2 menggunakan perintah berikut:

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

Setup Receiver

Di sisi penerima radio "stasiun" Anda menyala: di <serverIP>:8000/example1.oggmana <serverIP>IP server streaming Anda diikuti oleh port yang Anda tentukan dalam file icecast.xml (default 8000).

Hentikan Streaming

Streaming dihentikan dengan membunuh Ices2 dan / atau berhenti menjalankan server Icecast2:

killall ices2
/etc/init.d/icecast2 stop

Es untuk menyiarkan daftar putar mp3

Menyiarkan daftar putar berisi file mp3 tidak dapat dilakukan dengan Ices2. Kita perlu menginstal IceS , yang harus kita instal dari sumber .

Setelah mengatur file konfigurasi dengan alamat server, kata sandi, dan properti streaming (contoh yang didokumentasikan dengan baik akan ditemukan di /usr/share/doc/ices/examples) kita dapat melakukan streaming file audio mp3 dari daftar putar (misalnya dalam format .m3u) melalui server Icecast2 dengan:

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

Untuk opsi lebih lanjut bacalah dokumentasi di halaman manual yang cukup rumit man ices.


Darkice Instal darkice untuk streaming langsung

Kita dapat mengalirkan output kartu suara lokal sebagai OGG Vorbis atau sebagai streaming mp3 menggunakan Darkice . Untuk mengaktifkan streaming kartu suara lokal, kita mungkin perlu menentukan perangkat rekaman untuk Darkice di pulseaudio terlebih dahulu. Ini dapat dilakukan dengan pavucontrol Instal pavucontrol . Pada tab Rekaman pilih Monitor of <your soundcard>untuk "ALSA plug-in [darkice]" .

File konfigurasi (contoh yang didokumentasikan dengan baik /usr/share/doc/darkice/examples) perlu disesuaikan dengan server Icecast dan lingkungan suara lokal:

[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

Setelah menyimpan konfigurasi ini (mis. Di ~/music/darkice.cfg) pertama-tama kita menjalankan server Icecast dan kemudian dapat melakukan streaming keluaran pulseaudio dari kartu suara lokal dengan memohon:

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

Di penerima kami mendengarkan http://<localhost>:8000/mystream.mp3untuk mendengarkan. <localhost>adalah IP dari server Icecast.

Takkat
sumber
3
Mengenai bagian "Biarkan sebagai host lokal ketika Anda hanya ingin melakukan streaming di jaringan lokal", apakah ini tidak perlu IP atau antarmuka yang dapat dijangkau jaringan agar orang lain yang menyimpang dapat terhubung?
Oli
apakah admin-pengguna dan admin-sandi terkait dengan pengguna mesin / kata sandi?
Charbel
1
@ Charbel: tidak, mereka tidak terkait. Pilih kata sandi yang Anda suka. Misalnya Anda memerlukan mereka untuk mengakses antarmuka web admin icecast ( localhost: 8000 / admin ).
Takkat
Ini jawaban yang bagus, terima kasih. Dalam banyak tutorial, saya melihat icecast dan mpd disebutkan bersama, bekerja bersama. Saya tidak mengerti hubungan antara icecast dan mpd - dapatkah Anda menjelaskannya? Peran apa yang dilayani masing-masing?
CoolUserName
1
Perhatikan, bahwa kata sandi Icecast2 disimpan (dan digunakan dalam Darkice) sebagai teks yang jelas. Jangan menggunakan kembali kata sandi Anda yang sangat rahasia di sini.
elomage