Cмотреть IPTV на телевизоре можно и без специальной приставки или виджета SmartTV, а через обычный роутер. Достаточно, что бы ваш телевизор поддерживал протокол DLNA.
Поможет нам в этом легковесный медиа-сервер xupnpd, который умеет транслировать потоковое видео в локальную сеть. Его можно поставить на большое количество роутеров, но мы будем ставить на сервер с FreeBSD.
Поможет нам в этом легковесный медиа-сервер xupnpd, который умеет транслировать потоковое видео в локальную сеть. Его можно поставить на большое количество роутеров, но мы будем ставить на сервер с FreeBSD.
Из основных особенностей стоит отметить.
Получаем их по svn- Имеет встроенный мультикаст-прокси, таким образом клиенты, которые не поддерживают мультикастовые рассылки будут получать IPTV трафик через HTTP.
- В качестве источника видео может выступать http-ресурс.
- Возможность предоставлять доступ к локальным видео-файлам.
- Расширение функциональности путем написания скриптов на языке Lua.
- Не умеет транскодировать!
- Поддерживает M3U плейлисты.
- Web-интерфейс для управления.
# svn co http://tsdemuxer.googlecode.com/svn/trunk/xupnpd
# cd xupnpd/src/
Хочу обратить внимание, что в Freebsd 10 gcc уже не используется по умолчанию. Поэтому нужно открыть Makefile и вручную в секции x86_bsd заменить gcc на clang
x86_bsd:
make -C $(LUA) CC=clang a
clang -O2 -c -o md5.o md5c.c
clang $(CFLAGS) -DINET -DWITH_LIBUUID -o xupnpd $(SRC) md5.o -llua -lm
strip xupnpd
Можно начинать сборку# gmake x86_bsd
После компиляции и линковки вы получите исполняемый файл xupnpd.
Перед запуском открываете файл настроек xupnpd.lua и правите интерфейс, на котором будет раздача.
cfg.ssdp_interface='vr0'И интерфейс через который будете получать мультикаст трафик.
cfg.mcast_interface='eth1'Можно запускать
# ./xupnpd
Заходите браузером на адрес вашего интерфейса, например 192.168.25.1:4044 и увидите такую web-морду.
Здесь вы можете загрузить M3U плейлист с каналами от вашего провайдера.
Что бы расшарить видеофайлы, нужно в конфиге xupnpd.lua добавить нужную папку
playlist= {Для запуска в режиме демона
{ '/share', 'Share Directory' }
}
cfg.daemon=trueПриятного просмотра!