Библиотека сайта rus-linux.net
Создайте в Linux свою собственную музыкальную интернет-радиостанцию с помощью Shoutcast
Оригинал: "Setup your own Internet music radio station using Shoutcast in Linux"Автор: Daniel T
Дата публикации: 7 December, 2011
Перевод: Н.Ромоданов
Дата перевода: февраль 2012 г.
Помимо веб-сайта сервер, на котором расположен этот блог (блог с оригиналом статьи — прим.пер.), также ведет музыкальное интернет вещание. Вы видите кнопку "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
И, последнее, но не менее важное - прежде чем начать вещание произведений, созданных другими, изучите законы об авторском праве, действующие в вашей стране!