ออกอากาศเสียงด้วย 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>
ปล่อยให้เป็นlocalhost (ไม่จำเป็นต้องให้ IP ที่ได้รับการแก้ไขแล้ว) เมื่อคุณต้องการสตรีมในเครือข่ายท้องถิ่นของคุณ พอร์ตเริ่มต้นที่จะรับฟังคือ 8000 เปลี่ยนเฉพาะเมื่อจำเป็นเท่านั้น
3. แก้ไขค่าเริ่มต้น
เปิด/etc/default/icecast2
ไฟล์ในฐานะ root ในโปรแกรมแก้ไข บรรทัดสุดท้ายต้องเปลี่ยนเป็น
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 สำหรับการสตรีมเสียง 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 สำหรับการตั้งค่า ตัวอย่างของการกำหนดค่า Verbous /usr/share/doc/ices2/examples/
สามารถพบได้ใน ไฟล์เหล่านี้ต้องได้รับการแก้ไขเพื่อตอบสนองความต้องการของคุณและสามารถคัดลอกได้ทุกที่ที่ดีที่สุดในโฮมไดเร็กตอรี่ของคุณ ขึ้นอยู่กับไฟล์กำหนดค่า Ices2 ใช้เพลย์ลิสต์ในรูปแบบOgg Vorbis ( ices-playlist.xml
) หรือเอาต์พุตจากการ์ดเสียงของคุณ ( ices-alsa.xml
) เป็นแหล่งสตรีมสำหรับ Icecast2
ในส่วนที่<input>
คุณอาจต้องเปลี่ยนอุปกรณ์หากคุณได้ตั้งค่าระบบเสียงของคุณเพื่อ PulseAudio เมื่อต้องการทำสิ่งนี้ให้แก้ไขบรรทัดที่เกี่ยวข้องกับ:
<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
รับการตั้งค่า
ที่ด้านรับวิทยุ "สถานี" ของคุณจะเปิดเพลง: <serverIP>:8000/example1.ogg
ที่ไหน<serverIP>
คือ IP ของเซิร์ฟเวอร์สตรีมของคุณตามด้วยพอร์ตที่คุณกำหนดไว้ในไฟล์ icecast.xml (ค่าเริ่มต้น 8000)
ยุติการสตรีม
สตรีมจะถูกยกเลิกโดยการฆ่า Ices2 และ / หรือหยุดการทำงานเซิร์ฟเวอร์ Icecast2:
killall ices2
/etc/init.d/icecast2 stop
Icesสำหรับการกระจายรายการเพลง MP3
การออกอากาศเพลย์ลิสต์ที่มีไฟล์ MP3ไม่สามารถทำได้ด้วย Ices2 เราจำเป็นต้องติดตั้งICESซึ่งเราจะต้องติดตั้งจากแหล่ง
หลังจากตั้งค่าไฟล์การกำหนดค่าพร้อมที่อยู่เซิร์ฟเวอร์รหัสผ่านและคุณสมบัติการสตรีม (ตัวอย่างเอกสารที่ดีจะพบได้ใน/usr/share/doc/ices/examples
) เราสามารถสตรีมไฟล์เสียง mp3 จากเพลย์ลิสต์ (เช่นในรูปแบบ. m3u) ผ่านเซิร์ฟเวอร์ Icecast2 โดย:
/etc/init.d/icecast2 start
ices -c <path_to_config_file> -F <path_to_playlist>
man ices
สำหรับตัวเลือกเพิ่มเติมอ่านเอกสารในหน้าคนที่ซับซ้อนมากจาก
Darkice สำหรับการสตรีมสด
เราสามารถสตรีมการส่งออกของการ์ดเสียงท้องถิ่นเป็น OGG Vorbis หรือเป็น mp3 กระแสใช้Darkice ในการเปิดใช้งานการสตรีมมิ่งการ์ดเสียงเราอาจต้องกำหนดอุปกรณ์บันทึกสำหรับ Darkice ใน pulseaudio ก่อน ซึ่งสามารถทำได้ด้วย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>
คือ IP ของเซิร์ฟเวอร์ Icecast