Δημοσιεύτηκε: 07 Ιουν 2009, 01:07
από medigeek
Σημείωση:
Πλέον υπάρχουν GUI προγράμματα που υποστηρίζουν icecast/shoutcast internet radios.
Συστήνω το mixxx: http://www.mixxx.org/wiki/doku.php/inte ... oadcasting

Πατήστε εδώ για εγκατάσταση του mixxx



(Ακολουθεί ο οδηγός)
Δοκιμασμένο σε έκδοση Ubuntu 11.04
Αυτός ο οδηγός είναι για δοκιμή σε local σύνδεση.
Συγκεκριμένα, μέσω ίντερνετ πρέπει να:
* ανοίξετε port στο router/modem
* ρυθμίσετε τα αρχεία: /etc/icecast2/icecast.xml /etc/ices2/ices-playlist.xml
..που πάει εκτός των ορίων του οδηγού αυτού.

Τι χρειάζεστε
1. Εγκατάσταση πακέτων:
Κώδικας: Επιλογή όλων
sudo apt-get -y install ices2 icecast2 flac vorbis-tools gstreamer-tools pulseaudio pulseaudio-utils pavumeter paman paprefs padevchooser


2. Για εισερχόμενο ήχο χρειάζεστε:
α) .ogg αρχεία (δεν παίζουν τα .mp3) - Μπορείτε εύκολα με το πρόγραμμα apt://soundconverter & apt://ubuntu-restricted-extras
*ή*
β) μια κάρτα ήχου που παίζει μουσική με pulseaudio server. (Στο ubuntu το pulseaudio είναι προεπιλεγμένο)

3. Απλή χρήση από εντολές και τερματικό/κονσόλα (terminal)

Επεξήγηση
Υπάρχουν δύο σενάρια/λύσεις:
α) Με το ices2, να μετατρέψετε τα αρχεία σας σε .ogg (καλό όταν λειτουργείτε σαν server μέσω κονσόλας)
Το ices2 θα παίζει αρχεία στο background, χωρίς να ενοχλεί και να παρεμβαίνει στη δική σας προσωπική μουσική απόλαυση
ή
β) Με το gst-launch, να παίξετε κατ' ευθείαν από την κάρτα ήχου (σαν παίζει το media player σας, π.χ. rhythmbox, να κάνει stream [μετάδοση] ζωντανά)

Πρώτα αυτά (ΓΙΑ ΟΛΑ ΤΑ ΒΗΜΑΤΑ ΠΟΥ ΑΚΟΛΟΥΘΟΥΝ)
Όλες οι γραμμές που ακολουθούν να πάνε στο ίδιο παράθυρο Terminal!
Ο κωδικός να μην έχει χαρακτήρα space (κενό).

Οι πρώτες 2 γραμμές είναι ο κωδικός του διαχειριστή για το radio (όχι ο κωδικός του χρήστη σας). Μπορείτε να το θέσετε όπως θέλετε:
Κώδικας: Επιλογή όλων
password="test-ingkk"
port="8000"


Server
Ρύθμιση icecast2

Κώδικας: Επιλογή όλων
password="test-ingkk"
port="8000"
sudo service icecast2 stop
zcat /usr/share/doc/icecast2/icecast.xml.dist.gz | sudo tee /etc/icecast2/icecast.xml
sudo sed -i \
    -e "s,password>[^<]\+,password>$password," \
    -e "s,<port>\S\+</port>,<port>$port</port>," \
    /etc/icecast2/icecast.xml
sudo sed -i -e "s,ENABLE=false,ENABLE=true," /etc/default/icecast2
sudo /etc/init.d/icecast2 start

echo "Please visit: http://localhost:$port/"


Πηγαίνετε στο http://localhost:8000 για να δείτε αν δουλεύει.
Εικόνα

Επανεκκίνηση icecast2:
Κώδικας: Επιλογή όλων
sudo service icecast2 stop; sleep 2; sudo service icecast2 start


Client
* Ρύθμιση ices2 (πρώτος τροπος)
Κώδικας: Επιλογή όλων
sudo mkdir -p /etc/ices2/ /var/log/ices/
sudo cp -f /usr/share/doc/ices2/examples/ices-playlist.xml /etc/ices2/ices-playlist.xml
sudo sed -i \
    -e "s,<port>\S\+</port>,<port>$port</port>," \
    -e "s,<password>\S\+</password>,<password>$password</password>," \
    -e "s,<mount>/example1.ogg</mount>,<mount>/playlist.ogg</mount>," \
    -e "s,<background>0</background>,<background>1</background>," \
    -e 's,<param name="file">playlist.txt</param>,<param name="file">/etc/ices2/playlist.txt</param>,' \
    /etc/ices2/ices-playlist.xml


Τοποθεσία για αρχεία .ogg (τα μουσικά αρχεία αντί του .mp3, βλ. "Τι χρειάζεστε" που ανάφερα πιο πριν):
Κώδικας: Επιλογή όλων
echo "Note: Place .ogg files in /opt/musicserver/"
sudo mkdir -p /opt/musicserver/
find /opt/musicserver/ -iname *.ogg | sudo tee /etc/ices2/playlist.txt


Τοποθετήστε τα αρχεία .ogg (που έχετε φτιάξει με το soundconverter) στο φάκελο /opt/musicserver/
Για να μεταφέρετε τα αρχεία σας στο φάκελο αυτό, πιέστε ALT+F2 και τρέξτε:
Κώδικας: Επιλογή όλων
gksu nautilus


Εκτέλεση ices2:
Κώδικας: Επιλογή όλων
# ices2
sudo ices2 /etc/ices2/ices-playlist.xml

Εικόνα

Επανεκκίνηση ices2:
Κώδικας: Επιλογή όλων
sudo killall ices2
sudo ices2 /etc/ices2/ices-playlist.xml



* Με gst-launch (pulseaudio live stream) (δευτερος τροπος)
Κώδικας: Επιλογή όλων
# gst-launch (pulseaudio and live audio stream)
# Thanks to: http://elitistslounge.com/2008/10/29/stream-pulseaudio-output-to-shouticecast-server/
defsinkfile=$(echo `pactl stat|grep -i 'Default Sink'|cut -d ' ' -f 3`.monitor)
gst-launch pulsesrc device=$defsinkfile ! audioconvert ! vorbisenc ! oggmux ! shout2send mount=/stream.ogg port=$port password=$password ip=localhost


Εικόνα
Εικόνα

Περισσότερη ρύθμιση;;
icecast2:
Κώδικας: Επιλογή όλων
gksu gedit /etc/icecast2/icecast.xml

ices2:
Κώδικας: Επιλογή όλων
gksu gedit /etc/ices2/ices-playlist.xml


Μην ξεχάσετε την επανεκκίνηση του icecast2 και του ices2 (αναφέρθηκαν πιο πάνω και για τα δύο).

Από εδώ και πέρα είστε μόνοι σας, εσείς, το Google και οι οδηγοί στα Αγγλικά :)