Создание интернет-радио https://www.youtube.com/watch?v=jNOwytAz44I
Black_Triangle deb78ae98d Update 'README.md' | 3 년 전 | |
---|---|---|
6878678768678 | 4 년 전 | |
LICENSE | 4 년 전 | |
README.md | 3 년 전 |
Orange Pi PC - покупал тут https://t.me/AliExpress_Hacker/422
Карточка MicroSD - покупал тут https://t.me/komp_ali/429
Кабель Ethernet - гдето валялся
Качай armbian от сюда https://www.armbian.com/ под свою модель платы и запихивай в microSD
Создаем пользователя и Обновляем ОС
apt update
apt upgrade
Создаем папку для музыки
mkdir radio_music
Закачиваем музыку, создаем плейлист.
Используем команду:
find . -name '*.mp3'
Точно также как в видео, потом подрубаемся заного
sudo apt install icecast2
Составляем конфиг:
sudo nano /etc/icecast2/icecast.xml
Сам пример конфига:
<icecast>
Информация о сервере
<location>Triangle Radio</location>
<admin>Triangle</admin>
<hostname>Triangle.ru</hostname>
<fileserve>1</fileserve>
Настройки ограничений сервера, всё по-умолчанию
<limits>
<clients>100</clients>
<sources>2</sources>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<burst-on-connect>1</burst-on-connect>
<burst-size>65535</burst-size>
</limits>
Настройки авторизации
<authentication>
Пароль для подключения источника потока данных
<source-password>Triangle</source-password>
Пароль для релей-слейва. В данной статье роли не играет
<relay-password>Triangle</relay-password>
Логин/пароль администратора веб-интерфейса
<admin-user>Triangle</admin-user>
<admin-password>Triangle</admin-password>
</authentication>
Имя точки монтирования "по-умолчанию"
<shoutcast-mount>/stream</shoutcast-mount>
Настройки сервера. Случаем любые соединения на порт 9090
<listen-socket>
<port>9090</port>
<bind-address>0.0.0.0</bind-address>
<shoutcast-mount>/stream</shoutcast-mount>
</listen-socket>
Здесь можно прописать любые дополнительные заголовки.
Я оставил то, что предлагалось в конфиге, поставляемом в
Debian
<http-headers>
<header name="Access-Control-Allow-Origin" value="*" />
</http-headers>
Настройка путей. Названия говорят за себя
<paths>
<alias source="/" destination="/status.xsl"/>
<basedir>/</basedir>
<webroot>/etc/icecast2/web</webroot>
<adminroot>/etc/icecast2/admin</adminroot>
<logdir>/var/log/icecast2/</logdir>
<pidfile>/var/log/icecast2/icecast.pid</pidfile>
</paths>
Логирование. Уровень от 4 (trace)
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<playlistlog>playlist.log</playlistlog>
<loglevel>3</loglevel>
<logsize>10000</logsize>
</logging>
Настройки безопасности. В случае, если сервер запущен от
пользователя root, то появляется возможность сделать
chroot (тут играет роль указанный выше basedir) и смениить
пользователя. Я сразу запускаю сервис от пользователя
icecast2, так что здесь этого не требуется
<security>
<chroot>0</chroot>
</security>
</icecast>
Включаем:
systemctl enable icecast
systemctl start icecast
В браузере тестим
Библиотеки:
apt-get install libshout3-dev libxml2-dev libtag1-dev libshout3-dev libvorbis-dev libogg-dev check libtag-extras-dev libtagc0-dev
Исходники:
wget http://downloads.xiph.org/releases/ezstream/ezstream-0.6.0.tar.gz
tar xvzf ezstream-0.6.0.tar.gz
cd ezstream-0.6.0
Сборка:
libtoolize --force
aclocal
autoheader
automake --force-missing --add-missing
autoconf
autoreconf -f
./configure
make
sudo make install
Проверяем:
ezstream -V
Генерим конфиг:
sudo nano /etc/icecast2/ezstream.xml
Пример конфига:
<ezstream>
Адрес Icecast
<url>http:10.8.0.4:9090/stream</url>
Пароль авторизации источника
<sourcepassword>Triangle</sourcepassword>
Формат передаваемых данных
<format>MP3</format>
Путь к плейлисту
<filename>/hone/q/playlist.txt</filename>
Флаг того, является плейлист программой. Если "1", то будет
произведён запуск, плейлист должен выдать путь к файлу
для вещания
<playlist_program>0</playlist_program>
Перемешивать ли песни
<shuffle>1</shuffle>
Мета-данные о канале
<svrinfoname>Sex, Dugs, Brutal Metal</svrinfoname>
<svrinfogenre>Rock</svrinfogenre>
<svrinfodescription>Something about channel</svrinfodescription>
Настройки перекодирования. Мне не нужны.
<reencode>
<enable>0</enable>
</reencode>
</ezstream>
Запуск:
ezstream -c /etc/icecast2/ezstream.xml
Спасибо за внимание к проекту друг, для создания этой инструкции и видео пришлось потратить несколько больше сил и времени чем занимают обычные мои ролики, если у тебя есть возможность поддержать канал, то буду рад любой поддержке:
Bitcoin: 1AWBMoeV8UEybQi4QrQMmeFX1sXvRLDeCn
Ethereum: 0xB151c82A264eF0EA848c120444173658BFA18Cf9
DASH: XcNtFGW1ydGLudvTPWoBvPZZxG844EvksR
Zcash: t1hCJwasRozdkoaK9HLpngoEVPQhEZpxdFT
Monero: 41iNuQsc6GjZofH3XkKwNYVSXVsrjipfVjjNR3nbsL5XjJMFTfykW1T6CkYz1StdXH2t8dhnjUTT9FwEPpbsFVxjHuuYabQ
Litecoin: LNpw5QS5fvH1NW5AMp35zzMs1FYKuAUuPP
Bitcoin Cash: qrs29h849m9vj02ljd2utf6g7e7hxnntqvkhz8r8u3
Ethereum Classic: 0xc20a61Ec5765aC0059D6e85f069B440889EBfcC5