Помимо веб-сайта сервер, на котором расположен этот блог (блог с оригиналом статьи - прим.пер.), также ведет музыкальное интернет вещание. Вы видите кнопку "Listen Music" в правом верхнем углу главной страницы - http://danasmera.com:8000/listen.pls?sid=1 ? Все это работает на микроприложении веб сервиса AWS ec2, для которого не требуется больших затрат. Так как же превратить ваш общедоступный сервер в интернет-радио, которое будет доступно с персонального компьютера, ноутбука или мобильного телефона? Это очень просто, и самыми популярными решениями являются пакеты Ice cast и shoutcast. Ниже мы расскажем, как вы сможете настроить радиовещание в сети интернет с использованием пакета shoutcast.
1. Добавляем пользователя shoutcast
#useradd shoutcast
или
#adduser shoutcast
и
cd /home/shoutcast
2. Загружаем пакет shoutcast
Перейдите по ссылке http://www.shoutcast.com/broadcast-tools и загрузите распределенный сетевой аудиосервер SHOUTcast Distributed Network Audio Server (DNAS).
#wget -c http://download.nullsoft.com/shoutcast/tools/sc_serv2_linux_x64_07_31_2011.tar.gz (Для linux машин с 64-разрядной архитектурой)
#wget -c http://download.nullsoft.com/shoutcast/tools/sc_serv2_linux_07_31_2011.tar.gz (Для linux машин с 32-разрядной архитектурой)
Если вы планируете передавать в формате mp3, вам потребуется транскодер SHOUTcast Transcoder (SC_TRANS)
#wget -c http://download.nullsoft.com/shoutcast/tools/sc_trans_linux_x64_10_07_2011.tar. (Для linux машин с 64-разрядной архитектурой)
#wget -c http://download.nullsoft.com/shoutcast/tools/sc_trans_linux_10_07_2011.tar.gz (Для linux машин с 32-разрядной архитектурой)
3. Распаковываем архив с программами пакета shoutcast (в моем случае, это 64-разрядная версия)
#tar xzvf sc_serv2_linux_x64_07_31_2011.tar.gz
#tar xzvf http://download.nullsoft.com/shoutcast/tools/sc_trans_linux_x64_10_07_2011.tar.gz
4. Настало время отредактировать два важных конфигурационных файла
a. Файл sc_serv_basic.conf
logfile=logs/sc_serv.log
w3clog=logs/sc_w3c.log
banfile=control/sc_serv.ban
ripfile=control/sc_serv.rip
publicserver=always
password=yourpasswordhere #этот пароль используется в sc_trans, убедитесь, что это тот же самый пароль, что и в sc_trans_basic.conf
adminpassword=yourpasswordhereagain #этот пароль используется для доступа с помощью вашего браузера на административную страницу
streamid=1
streampath=/test.aac
streamauthhash_1=AcMnKLMrYVmK2NlR9W8j #уникальное значение для каждой станиции; необходимо если вы планируете сделать вашу станцию общедоступной.
b. Файл sc_trans_basic.conf
logfile=logs/sc_trans.log
calendarrewrite=0
encoder_1=aacp ## загруженные на сервер музыкальные файлы mp3, которые будут воспроизводиться как AAC
bitrate_1=56000
outprotocol_1=3
serverip_1=127.0.0.1 ## ip адрес локального сервиса
serverport_1=8000
uvoxauth_1=yourpasswordhere ## Этот пароль должен быть точно таким, как "password" в файле sc_serv_basic.conf
uvoxstreamid_1=1
endpointname_1=/Bob
streamtitle=Eritrean and Ethiopian Guayla
streamurl=http://danasmera.com:8000/listen.pls?sid=1
genre=Tigrigna Guayla
playlistfile=playlists/main.lst ## в этом файле указывается путь к музыкальным файлам, которые вы загрузите позже.
adminport=7999
adminuser=administrator
adminpassword=yourdminpasshere
5. Закачиваем на сайт ваши музыкальные файлы
Загрузите все музыкальные файлы в директорий /home/shoutcast/music. Используйте для этой задачи любую клиентскую программу sftp, например, winscp или filezilla. Смотрите пример:
root@danasmera:/home/shoutcast# ls -al /home/shoutcast/music/
-rw-r-r- 1 shoutcast shoutcast 6418432 2011-09-07 02:13 abrahamAF.mp3
-rw-r-r- 1 shoutcast shoutcast 7345261 2011-11-22 23:41 Abreham-vol2.mp3
-rw-r-r- 1 shoutcast shoutcast 6222993 2011-11-22 23:41 asmera.mp3
-rw-r-r- 1 shoutcast shoutcast 3197056 2011-09-13 02:56 Bebizelenayo.mp3
-rw-r-r- 1 shoutcast shoutcast 5890765 2011-11-22 23:41 Bereket1.mp3
6. Заполните ваш файл плейлистов - укажите в нем полный путь к музыкальным файлам, расположенным на сервере
a. Все музыкальные файлы, расположенные в определенном директории, например, /home/shoutcast/music; предполагается, что формат файлов - mp3
#find /home/shoutcast/music/ -type f -name "*.mp3" -exec ls -1 {} \; > /home/shoutcast/playlists/playlist.lst
b. Музыкальные файлы, расположенные в других директориях на сервере; предполагается, что формат файлов - mp3
#find / -type f -name "*.mp3" -exec ls -1 {} \; > /home/shoutcast/playlists/playlist.lst
7. Задаем права доступа к файлам и настраиваем брендмауэр
a. Права доступа к файлам
Удостоверьтесь, что владельцем всех файлов, расположенных в директории /home/shoutcast, является пользователь shoutcast, в противном случае, когда приложение shoutcast попытается воспроизвести эти файлы, оно выдаст сообщение об ошибке из-за отказа в доступе.
#chown -R shoutcast:shoutcast /home/shoutcast
b. Откройте порт 8000 и 8001
#iptables -A INPUT -p tcp -i eth0 --dport 8000 -m state --state NEW -j ACCEPT (-i: может быть другим в зависимости от того, какая у вас используется интерфейсная сетевая карта, например, eth1, eth2 …)
#iptables -A INPUT -p tcp -i eth0 --dport 8001 -m state --state NEW -j ACCEPT
В случае, если используются сервера Amazon ec2, вам потребуется для определенной группы безопасности, в которой работает сервер, открыть порт 8000. Доступ к этой настройке есть в консоли веб управления AWS.
8. Запускаем сервис shoutcast
#cd /home/shoutcast
#./sc_serv sc_serv_basic.conf > /dev/null 2>&1 &
#./sc_trans sc_trans_basic.conf > /dev/null 2>&1 &
С помощью netstat проверяем, прослушиваются ли указанные порты
root@danasmera:/home/shoutcast# netstat -talpn /grep sc_
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 1075/sc_serv
tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 1075/sc_serv
9. Чтобы сделать ваше shoutcast-радио общедоступным, зарегистрируйте его на сайте yp.shoucast.com
Чтобы это сделать, следуйте инструкциям, изложенным на этой wiki-странице - смотрите http://wiki.winamp.com/wiki/SHOUTcast_Authhash_Management. Одним словом, перейдите на свою административную страницу, например, http://yourip-or-domain:8000/admin.cgi.
Щелкните по ссылке "Create Authhash" ("Создать учетную запись") и после того, как вы заполните форму, удостоверьтесь, что в ваш файл sc_serv_basic.conf была добавлена запись с параметром streamauthhash_1.
10. Наслажлаждайтесь музыкой!
Один из способов прослушать музыку - это самым обычным образом перейти в браузере по ссылке, например, http://danasmera.com:8000/listen.pls?sid=1 или http://yourip-or-hostname:8000/listen.pls?sid = 1. Но наиболее удобный способ, это использовать на вашем мобильном телефоне приложение, позволяющее найти на желтых страницах shoutcast вашу станцию и добавить ее в список любимых станций. В мобильных телефонах с системой Android скачайте из электронного магазина Market приложение "A Online Radio" ("Интернет Радио"), откройте его и выполните поиск по ключевому слову. В моем случае это может быть слово "tigrigna" или "guayla", то есть то ключевое слово, которое я добавил, когда регистрировал свою станцию на желтых страницах. Станция появится в результатах поиска и чтобы ее воспроизвести, просто щелкните мышкой по ссылке. Для iphone вы можете воспользоваться приложением "shoutcast".
Наконец, просматривайте ваши журнальные файлы, находящиеся в директории /home/shoutcast/logs, в них вы найдете некоторую информацию, в том числе то, какие музыкальные файлы воспроизводились, ip адреса ваших слушателей и т.д. Например, вы можете с помощью следующей команды отсортировать ip адреса слушателей:
#less sc_serv* / grep -i client / awk '{print $5}' / awk -F: '{print $1}' / sort / uniq -c / sort -nr
И, последнее, но не менее важное - прежде чем начать вещание произведений, созданных другими, изучите законы об авторском праве, действующие в вашей стране!
Ссылки по теме