วิทยุสตรีมบน FreeBSD 10 พร้อม IceCast และ Ices

บทช่วยสอนต่อไปนี้อธิบายวิธีตั้งค่าเซิร์ฟเวอร์การสตรีมวิทยุ IceCast และเล่นไฟล์เสียง (เพลงหรือพอดคาสต์) บนแพลตฟอร์ม FreeBSD บทช่วยสอนนี้อนุมานว่าคุณกำลังใช้งาน FreeBSD 10.0 หรือสูงกว่าและคุณเข้าสู่ระบบในฐานะผู้ใช้รูท นอกจากนี้ยังสันนิษฐานว่าคุณมีโปรแกรมแก้ไขข้อความเพื่อแก้ไขไฟล์การกำหนดค่า

ก่อนที่เราจะเริ่มต้นสิ่งสำคัญคือต้องเข้าใจเซิร์ฟเวอร์สตรีมมิ่งสามส่วน อันดับแรกเรามีซอฟต์แวร์เซิร์ฟเวอร์เอง IceCast IceCast ทำหน้าที่เหมือนฮับกลางที่มีกระแสเสียงเข้าและส่งออก บริการ IceCast รับกระแสข้อมูลเสียงจากไคลเอนต์ต้นทาง ไคลเอ็นต์ต้นทางคือโปรแกรมที่อ่านไฟล์เสียงหรือแหล่งกำเนิดเสียงอื่น ๆ เช่นไมโครโฟน ในตัวอย่างของเราไคลเอ็นต์ต้นทางคือ Ices และจะส่งกระแสข้อมูลเสียงไปยังเซิร์ฟเวอร์ IceCast องค์ประกอบที่สามคือไคลเอนต์ที่รับฟัง สตรีมเสียงเดินทางจากเซิร์ฟเวอร์ IceCast ไปยังผู้ฟังที่ได้ยินเสียง โดยทั่วไปแล้วไคลเอนต์ที่รับฟังเป็นแอปพลิเคชันเดสก์ท็อปเช่นเว็บเบราว์เซอร์เครื่องเล่น VLC มัลติมีเดียหรือ WinAMP สายตาการจัดเรียงมีลักษณะดังนี้:

 Source client (Ices) --> IceCast server --> Listening client (browser)

ในการตั้งค่าเซิร์ฟเวอร์การสตรีม IceCast บน FreeBSD เราจะติดตั้งซอฟต์แวร์เซิร์ฟเวอร์เป็นอันดับแรก สิ่งนี้สามารถทำได้โดยการรันคำสั่งต่อไปนี้

 pkg install icecast2

จากนั้นเราเปิด/etc/rc.confไฟล์และเปิดใช้งานบริการพื้นหลัง IceCast สิ่งนี้ทำได้โดยการเพิ่มข้อความต่อไปนี้ที่ด้านล่างของ/etc/rc.confไฟล์

 icecast_enable="YES"

ขั้นตอนต่อไปคือการกำหนดค่าบริการ IceCast แพ็คเกจ IceCast มาพร้อมกับไฟล์ตัวอย่างที่เราสามารถแก้ไขได้ ไฟล์ตัวอย่างนี้อยู่ใน/usr/local/etcไดเรกทอรี เราจะทำสำเนาของไฟล์ตัวอย่างนี้ก่อนที่จะแก้ไข

 cd /usr/local/etc
 cp icecast.xml.sample icecast.xml

ตอนนี้เราต้องการแก้ไขเขตข้อมูลสำคัญบางส่วนของicecast.xmlไฟล์ ไฟล์ส่วนใหญ่สามารถใช้การตั้งค่าเริ่มต้นได้ แต่เราควรเปลี่ยนข้อมูลการเข้าสู่ระบบ เราสามารถทำได้โดยไปที่ส่วนการรับรองความถูกต้อง (ที่ประมาณ 30 บรรทัด) และเปลี่ยนรหัสผ่านต้นทางและรหัสผ่านรีเลย์เป็นสิ่งที่เหมาะสม รหัสผ่านเหล่านี้จะช่วยให้เราสามารถสตรีมข้อมูลไปยังเซิร์ฟเวอร์ IceCast จากไคลเอนต์ต้นทาง นอกจากนี้เรายังควรเปลี่ยนผู้ดูแลระบบของผู้ใช้และผู้ดูแลระบบรหัสผ่านตัวแปรเพื่อบางสิ่งบางอย่างที่ไม่ซ้ำกันกับระบบของเรา ข้อมูลรับรองสองรายการนี้จะปกป้องส่วนต่อประสานบนเว็บของเซิร์ฟเวอร์ IceCast จากนั้นประมาณ 150 บรรทัดเราควรเปลี่ยนตัวแปรmount-name , ชื่อผู้ใช้และรหัสผ่าน ตัวแปรสามตัวเหล่านี้ปกป้องจุดเชื่อมต่อของเซิร์ฟเวอร์ IceCast สุดท้ายที่ด้านล่างของicecast.xmlไฟล์เราจะเห็นส่วนความปลอดภัยที่ถูกคอมเม้นท์ เราควรลบสัญลักษณ์การเปิด<-และปิด->ออกจากรอบ ๆย่อหน้าการรักษาความปลอดภัย เมื่อicecast.xmlไฟล์มีการเปลี่ยนแปลงให้บันทึกไฟล์

เมื่อแก้ไขไฟล์กำหนดค่าแล้วเราต้องการเปิดใช้งานการบันทึก เมื่อต้องการทำสิ่งนี้ให้เรียกใช้คำสั่งต่อไปนี้

 mkdir /var/log/icecast
 chown nobody:nogroup /var/log/icecast

ในที่สุดเราเริ่มเซิร์ฟเวอร์ IceCast ซึ่งทำให้เซิร์ฟเวอร์เพื่อฟังอินพุตและการเชื่อมต่อลูกค้าขาเข้า

 service icecast2 start

เซิร์ฟเวอร์ IceCast เปิดใช้งานแล้วดังนั้นตอนนี้เราต้องจัดเตรียมบางอย่างให้เล่น ขั้นตอนต่อไปของเราคือการติดตั้งไคลเอนต์ต้นทางของ Ices FreeBSD ในปัจจุบันไม่ได้เสนอแพ็คเกจไบนารีสำหรับ Ices ดังนั้นเราจำเป็นต้องสร้างมันจากพอร์ต สิ่งนี้สามารถทำได้โดยการรันคำสั่งต่อไปนี้

 portsnap fetch
 portsnap extract
 cd /usr/ports/audio/ices
 make install
 make clean

Ices source client จะต้องมีบัญชีผู้ใช้และการบันทึก ในการสร้างผู้ใช้สำหรับซอฟต์แวร์ Ices และตั้งรหัสผ่านในบัญชีให้เรียกใช้คำสั่งเหล่านี้

 pw groupadd ice
 pw useradd ices -g ice -m
 passwd ices

เมื่อผู้ใช้สร้างขึ้นเราสามารถเปิดใช้งานการบันทึกสำหรับ Ices

 mkdir /var/log/ices
 chown ices:ice /var/log/ices

จากนี้ไปเราจะไม่ต้องเข้าถึงผู้ใช้รูทอีกต่อไปและสามารถใช้งานได้ในฐานะผู้ใช้ices ต่อไปเราต้องสร้างสองไดเรกทอรี หนึ่งไดเรกทอรีmusicจะมีไฟล์เสียงที่เรากำลังจะสตรีม ไดเรกทอรีที่สองconfจะมีไฟล์กำหนดค่าของเรา

 su ices
 cd /home/ices
 mkdir music conf
 cp /usr/local/share/ices/ices-playlist.xml conf/configuration.xml

ตอนนี้เรามีไฟล์การกำหนดค่าตัวอย่างแล้ว ถึงเวลาแก้ไขconf/configuration.xmlไฟล์ให้เหมาะกับสภาพแวดล้อมของเรา ส่วนเดียวของไฟล์ที่เราจำเป็นต้องเปลี่ยนแปลงอยู่รอบ ๆ บรรทัดที่ 60 ที่นี่เราจำเป็นต้องระบุรหัสผ่านและตำแหน่งการเมานท์ที่เราตั้งไว้ในicecast.xmlไฟล์ ตัวอย่างเช่นถ้าเราตั้งชื่อติดของเราในicecast.xmlไฟล์จะเป็น/radio.oggแล้วเราควรเปลี่ยนของเราconfiguration.xmlของไฟล์ติด/radio.oggพารามิเตอร์ยังเป็น ฟิลด์รหัสผ่านของเราconfiguration.xmlควรตรงกับรหัสผ่านต้นทางที่เราสร้างไว้ในicecast.xmlไฟล์ เมื่อconfiguration.xmlไฟล์ของเราได้รับการแก้ไขเราจะต้องบันทึกการเปลี่ยนแปลงของเรา

เมื่อมีไฟล์การกำหนดค่าแล้วขั้นตอนต่อไปคือการคัดลอกไฟล์เสียงที่เราต้องการสตรีมไปยังmusicไดเรกทอรี ไฟล์เสียงควรอยู่ใน.oggรูปแบบที่ IceCast จะไม่จัดการ.mp3ไฟล์ด้วยการตั้งค่าเริ่มต้น เมื่อไฟล์เสียงทั้งหมดที่เราต้องการสตรีมอยู่ในmusicไดเรกทอรีเราต้องสร้างเพลย์ลิสต์ เพลย์ลิสต์เป็นไฟล์ข้อความธรรมดาที่มีรายการเพลงที่เราต้องการสตรีม เราสามารถสร้างรายการเพลงได้อย่างง่ายดายด้วยคำสั่งดังต่อไปนี้

 cd /home/ices/conf
 ls -d ../music/*.ogg > playlist.txt

ไฟล์เสียงจะเล่นตามลำดับที่ปรากฏในplaylist.txtไฟล์ ไฟล์สามารถแก้ไขได้ในเท็กซ์เอดิเตอร์ใด ๆ เพื่อปรับลำดับของการสตรีมเสียง

สิ่งที่เราต้องทำเพื่อเริ่มการสตรีมไฟล์เสียงของเราคือการเรียกใช้คำสั่งนี้

 ices configuration.xml

หมายเหตุด้านข้าง: บ่อยครั้งที่เราอาจต้องการเรียกใช้ไคลเอนต์ต้นทาง Ices แล้วออกจากระบบและไปทำอย่างอื่น ในกรณีนั้นฉันต้องการเรียกใช้ Ices จากภายในเซสชันหน้าจอ นี่คือตัวอย่างวิธีการรัน ices พร้อมหน้าจอ

 screen
 cd /home/ices/conf
 ices configuration.xml

จากนั้นกดCtrl + AและแตะDที่สำคัญ ที่จะแยกเซสชั่นหน้าจอและช่วยให้เราออกจากระบบในขณะที่ Ices เ��่นเสียงในพื้นหลัง ต่อมาเราสามารถหยุด Ices ได้โดยเข้าสู่ระบบและเรียกใช้:

 screen -r
 killall ices
 exit

ตอนนี้เราสามารถเชื่อมต่อกับเซิร์ฟเวอร์ของเราที่พอร์ต 8000 ในเว็บเบราว์เซอร์เพื่อฟังสตรีมเสียงของเรา URL จะมีลักษณะhttp://myservername:8000ดังนี้ ที่อยู่นี้สามารถทำให้เป็นแบบสาธารณะได้หากคุณต้องการให้ผู้อื่นฟังกระแส

ก่อนหน้านี้ผมบอกว่า IceCast เล่นไฟล์และไม่ได้.ogg .mp3นี่เป็นเรื่องง่ายที่จะเอาชนะใน FreeBSD ในฐานะผู้ใช้รูทเราสามารถติดตั้งเครื่องมือแปลงที่เรียกว่าsoxซึ่งจะแปลง.mp3ไฟล์ของเราเป็น.oggไฟล์ สมมติว่า.mp3ไฟล์ทั้งหมดของเราอยู่ใน/home/ices/musicไดเรกทอรีเราสามารถติดตั้ง sox และทำการแปลงดังนี้:

 pkg install sox
 cd /home/ices/music
 for i in *.mp3; do sox ./"$i" ./"$i".ogg; done

จากนั้นเราสามารถรีเฟรชเพลย์ลิสต์ของเราโดยใช้:

 cd ../conf
 ls -d ../music/*.ogg > playlist.txt

โปรดทราบว่าการสตรีมเสียงอาจต้องใช้แบนด์วิดท์สูง ไคลเอนต์หนึ่งหรือสองคนที่ฟังสถานีวิทยุของเราจะไม่ต้องการแบนด์วิดท์มาก แต่ลูกค้า 50 รายขึ้นไปสามารถผลักดันเซิร์ฟเวอร์ผ่านแบนด์วิดธ์รายเดือนที่กำหนด เป็นความคิดที่ดีที่จะเปิดใช้งานการกำหนดแบนด์วิดท์บนเซิร์ฟเวอร์การสตรีมเพื่อหลีกเลี่ยงค่าใช้จ่ายทางการเงินที่ไม่คาดคิด

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true