ArenaStreaming

Icecast Streaming Media Server adalah perangkat lunak populer untuk mendistribusikan streaming audio langsung secara online. Semua konfigurasi disimpan sebagai file XML. Jika Anda memiliki banyak server, akan lebih mudah untuk menyimpan dan memperbarui konfigurasi ini secara terpusat.

Ini ada script yang lumayan bangus untuk kebutuhan ini, script ini di ambil dari website ghitub

#!/bin/sh

# This script downloads your Icecast XML script from AWS S3, compares it for changes, and reloads Icecast if changes have been found
# Written by Anthony Eden (http://mediarealm.com.au/)

file="icecast.xml"
bucket="BUCKET-NAME-GOES-HERE"
s3Key="KEY-GOES-HERE"
s3Secret="SECRET-GOES-HERE"


resource="/${bucket}/${file}"
contentType="application/xml"
dateValue="`date +'%a, %d %b %Y %H:%M:%S %z'`"

stringToSign="GET\n\n${contentType}\n${dateValue}\n${resource}"

signature=`/bin/echo -en "$stringToSign" | openssl sha1 -hmac ${s3Secret} -binary | base64`

curl -H "Host: ${bucket}.s3.amazonaws.com" \
-H "Date: ${dateValue}" \
-H "Content-Type: ${contentType}" \
-H "Authorization: AWS ${s3Key}:${signature}" \
https://${bucket}.s3.amazonaws.com/${file} \
-o $file

diff --brief icecast.xml /etc/icecast2/icecast.xml >/dev/null
comp_value=$?

if [ $comp_value -eq 1 ]
then
	# These files are different - update live config
	echo "The new file is different. Copying to the live icecast directory"
	cp /etc/icecast2/icecast.xml /etc/icecast2/icecast-backup.xml
	cp icecast.xml /etc/icecast2/icecast.xml
	
	# Restart icecast (soft restart, respecting existing connections)
	/etc/init.d/icecast2 reload
	
else
  # No change - leave as-is
	echo "The new file is unchanged. Not moving."
Fi

Script di atas di jalankan di :

  • OS Debian Bases, seperti Ubuntu Dll.
  • Konfigurasi yang ada di S3 adalah “icecast.xml”
  • Konfigurasi yang ada di local server ada di “/etc/icecast2/icecast.xml”
  • Terinstall OpenSSL dan cURL

      Disarankan skrip ini dipasang di direktori home di server Linux Anda, dan jalankan secara teratur melalui Crontab.

      Jika tidak ada perubahan pada file XML, tidak perlu repot memuat ulang Icecast.

      Saya menggunakan skrip ini untuk mengelola sekelompok server Icecast. Kami menggunakan banyak server dalam DNS Round-Robin untuk memberi kami keragaman penyedia, keragaman geografis, dan skalabilitas. Jika kami melihat peningkatan pendengar, kami dapat dengan mudah menambahkan server tambahan. Demikian pula, jika ada masalah dengan server tertentu, server tersebut dapat dengan mudah dihapus dari cluster.

      Share this Post
      Mohammad Johan Rajabi

      Saat ini bekerja di salah satu perusahaan Media Broadcasting nasional, di sela-sela kesibukan sebagai Chief Of IT, sering mengisi waktu dengan menulis seputar dunia IT dan Broadcast di beberapa website rajabi.me, alloperator.com dan arenastreaming.com

      Leave a Reply

      Your email address will not be published. Required fields are marked *

      WeCreativez WhatsApp Support
      Our customer support team is here to answer your questions. Ask us anything!
      👋 Hi, how can I help?