This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
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.