Ραδιοφωνική ροή στο FreeBSD 10 με IceCast και Ices

Το παρακάτω σεμινάριο εξηγεί πώς να ρυθμίσετε έναν διακομιστή ροής ραδιοφώνου IceCast και να αναπαράγετε αρχεία ήχου (μουσική ή podcast) στην πλατφόρμα FreeBSD. Αυτό το σεμινάριο προϋποθέτει ότι εκτελείτε FreeBSD 10.0 ή νεότερη έκδοση και ότι έχετε συνδεθεί ως χρήστης root. Υπέθεσε επίσης ότι έχετε ένα πρόγραμμα επεξεργασίας κειμένου για να επεξεργαστείτε αρχεία διαμόρφωσης.

Πριν ξεκινήσουμε, είναι σημαντικό να κατανοήσουμε τα τρία μέρη ενός διακομιστή ροής ήχου. Πρώτον, έχουμε το ίδιο το λογισμικό διακομιστή, το 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) και την αλλαγή της πηγής, τον κωδικό πρόσβασης και ρελέ-password σε κάτι κατάλληλο. Αυτοί οι κωδικοί πρόσβασης θα μας επιτρέψουν να μεταφέρουμε δεδομένα στον διακομιστή IceCast από έναν πελάτη πηγής. Θα πρέπει επίσης να αλλάξουμε τις μεταβλητές admin-user και admin-password σε κάτι μοναδικό για το σύστημά μας. Αυτά τα δύο διαπιστευτήρια προστατεύουν το web-based interface του διακομιστή IceCast. Στη συνέχεια, στη γραμμή 150, θα πρέπει να αλλάξουμε τις μεταβλητές mount-name , username , καικωδικός πρόσβασης . Αυτές οι τρεις μεταβλητές προστατεύουν το σημείο προσάρτησης του διακομιστή 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 θα χρειαστεί λογαριασμό χρήστη και καταγραφή. Για να δημιουργήσετε έναν χρήστη για το λογισμικό Ices και να ορίσετε έναν κωδικό πρόσβασης στο λογαριασμό, εκτελέστε αυτές τις εντολές.

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

Με τη δημιουργία του χρήστη, μπορούμε πλέον να ενεργοποιήσουμε την καταγραφή για Ices.

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

Από εδώ και πέρα, δεν θα χρειαζόμαστε πλέον πρόσβαση χρήστη root και μπορούμε να λειτουργούμε ως χρήστης ice . Στη συνέχεια, πρέπει να δημιουργήσουμε δύο καταλόγους. Ένας κατάλογος, 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.oggconfiguration.xmlicecast.xmlconfiguration.xml

Με το αρχείο διαμόρφωσης στη θέση του, το επόμενο βήμα θα πρέπει να είναι η αντιγραφή αρχείων ήχου που θέλουμε να μεταφέρουμε ροή στον musicκατάλογο. Τα αρχεία ήχου θα πρέπει να είναι όλα σε .oggμορφή, καθώς το IceCast δεν θα χειρίζεται .mp3αρχεία με τις προεπιλεγμένες ρυθμίσεις του. Μόλις όλα τα αρχεία ήχου που θέλουμε να μεταδώσουν είναι στον musicκατάλογο, πρέπει να δημιουργήσουμε μια λίστα αναπαραγωγής. Μια λίστα αναπαραγωγής είναι ένα αρχείο απλού κειμένου με μια λίστα της μουσικής που θέλουμε να κάνουμε ροή. Μπορούμε εύκολα να δημιουργήσουμε μια λίστα αναπαραγωγής με τις παρακάτω εντολές.

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

Τα αρχεία ήχου θα αναπαραχθούν με τη σειρά που εμφανίζονται στο playlist.txtαρχείο. Το αρχείο μπορεί να επεξεργαστεί σε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου για να προσαρμόσετε τη σειρά του ήχου ροής.

Το μόνο που χρειάζεται να κάνουμε για να ξεκινήσουμε τη ροή των αρχείων ήχου μας είναι να εκτελέσουμε αυτήν την εντολή.

 ices configuration.xml

Πλευρική σημείωση: Συχνά μπορεί να θέλουμε να εκτελέσουμε το πρόγραμμα-πελάτη πηγής 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 ή περισσότεροι πελάτες θα μπορούσαν να ωθήσουν έναν διακομιστή στο εκχωρημένο μηνιαίο εύρος ζώνης του. Είναι καλή ιδέα να ενεργοποιήσετε τον περιορισμό εύρους ζώνης στον διακομιστή ροής για να αποφύγετε απροσδόκητα οικονομικά κόστη.

BSD, Εφαρμογές διακομιστή

Αφήστε ένα σχόλιο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα