Как стать автором
Поиск
Написать публикацию
Обновить

Делаем свое интернет-радио с помощью VLC

Каждый, кому в голову приходит мысль сделать свое собственное интернет-радио, при поиске возможных решений непременно натыкается на достаточно нетривиальные способы с участием mpd или icecast+ices. Я же вам расскажу простой способ, как это можно сделать буквально одной командой.

1. На сервере устанавливаем VLC, без графического интерфейса. В каждом дистрибутиве это можно сделать по-разному. В Debian и Ubuntu это можно сделать, выполнив команду
apt-get install vlc-nox
В дистрибутиве Gentoo можно собрать VLC с помощью флагов -X -qt4. Помимо этого, надо еще включить поддержку музыкальных файлов с помощью флагов mp3 mpeg ogg.

2. Создаем на сервере M3U плейлист. Можно для этого воспользоваться любой программой, которая умеет это делать, а у меня получилось проще: у меня на сервере есть большая папка с несколькими сотнями MP3-файлов. Я просто сделал плейлист с помощью команды ls > playlist.m3u, находясь внутри папки, и с помощью любого текстового редактора в этом playlist.m3u дописал сверху строку #EXTM3U

3. Радио с трансляцией по протоколу HTTP создается единственной командой:
vlc -ZL --sout-keep --daemon /путь/до/плейлиста/playlist.m3u --sout '#transcode{ab=128}:standard{access=http,mux=ogg,dst=ip_сервера:порт}'

, где:
-ZL — с этими параметрами плейлист будет проигрываться рандомно и бесконечно
--sout-keep — после окончания трека подключение к радио будет оставаться, без этого параметра оно оборвется, и придется тогда подключаться к радио заново на каждом новом треке.
--daemon — VLC становится демоном, после чего можно спокойно закрывать окно терминала, VLC останется в памяти. Выключить VLC в этом случае можно командой pkill vlc.
#transcode{ab=128} — для уменьшения нагрузки на канал мы автоматически понижаем качество прослушиваемой музыки. Исходные файлы при этом остаются с прежним качеством, преобразование делается сервером «на лету». В данном примере мы установили автоматическое понижение битрейта до 128 кбит/с.
standard{access=http,mux=ogg,dst=ip_сервера:порт} — тут по идее все должно быть понятно, на выходе у нас стоит протокол HTTP, не забудьте указать IP сервера и порт, через который будет вестись трансляция радио (например, 192.168.1.10:6500).

4. Прослушать радио можно с помощью любого плеера, поддерживающего потоковое воспроизведение. Например, с помощью того же настольного VLC выбираете в меню Медиа -> Открыть URL и там вводите адрес радио в формате http://ip_сервера:порт (обязательно указывайте перед адресом протокол http://, иначе радио не заиграет!).
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.