xTeVe
это легковесный прокси-сервер M3U, который позволяет использовать IPTV-плейлисты с Plex Live TV и Emby Live TV без установки специализированных IPTV-приложений.
Я смотрю почти всё через Plex, поэтому попробовал данное решение! ![]()
Почему именно этот образ?
Я использую этот образ dnsforge/xteve:latest , так как он отлично совместим с Container Manager на Synology NAS.
Docker Compose
Создаём проект в Container Manager → Projects и вставляем следующий docker-compose.yml :
services:
xteve:
image: dnsforge/xteve:latest
container_name: XTeVe
ports:
- "34400:34400" # Web UI
#- "1900:1900/udp" # SSDP (optional, for discovery)
volumes:
- /volume1/docker/xteve:/home/xteve/conf
environment:
- TZ=Asia/Krasnoyarsk
restart: unless-stopped
После запуска ждём 1–2 минуты — в логах должно появиться сообщение об успешной установке Perl-модулей.
Веб-интерфейс доступен по адресу:
http://[IP]:34400/web
Настройка xTeVe
1. Выбор режима
Я выбрал XEPG — он даёт больше гибкости, особенно если в будущем захочу использовать xTeVe не только с Plex.
2. M3U-плейлист 
Без M3U-файла дальше не продвинетесь! Заранее подготовьте его.
Я сохранил свой плейлист как ru.m3u и положил в:
/volume1/docker/xteve/data/ru.m3u
В интерфейсе xTeVe указываю путь:
/home/xteve/conf/data/ru.m3u
3. XMLTV-гид 
Аналогично загружаем файл с программой передач я выбрал Russian Federation https://epg.pw/xmltv/epg_RU.xml
Путь в интерфейсе:
/home/xteve/conf/data/ru.xml
После этого в разделах Playlists и XMLTV должны появиться по одной записи
.
Mapping каналов
Теперь нужно сопоставить каналы из M3U с программами из XMLTV:
Переходим в Mapping.
Выбираем канал (например, Первый канал).
Обязательно указываем:
EPG Category — без этого может не работать!
XMLTV File — наш ru.xml
XMLTV Channel — выбираем нужный (иногда нужно подождать пару секунд, пока список загрузится)
Успешное сопоставление = зелёный индикатор слева + красный индикатор у надписи Channel Name.
Не забудьте нажать «Сохранить»!
Подключение к Plex
В Plex: Настройки → Прямой эфир и записи → Добавить устройство.
Указываем: http://[IPxTeVe]:34400
Plex должен автоматически найти тюнер.
У меня не подгрузились программы из встроенного гида Plex после указания моего индекса (возможно, из-за региона).
Поэтому я вручную указал путь к сгенерированному xTeVe файлу:
/volume1/docker/xteve/data/xteve.xml
Так как у меня пока только один канал — Plex видит только его.
Проблема с буферизацией и решение
При первом запуске видео не воспроизводилось — Plex выдавал ошибку.
Из логов стало ясно: xTeVe передаёт поток напрямую, а Plex не успевает его буферизовать.
Решение:
В настройках xTeVe:
Меняем Stream Buffer с noBuffer на VLC
Увеличиваем размер буфера с 1 MB до 8 MB
После этого «Первый канал» заработал без проблем! ![]()
Часовой пояс и региональные потоки — открытая проблема ![]()
У меня возникла сложность с временной зоной:
В M3U-плейлисте ссылка:
https://edge1.1internet.tv/dash-live2/streams/1tv-dvr/1tvdash.mpd
Поток идёт по Московскому времени, хотя в XMLTV и настройках указан Красноярск (+4).
Я нашёл альтернативную ссылку от интернет провайдера:
udp://@239.255.1.1:123
Но:
Работает только в специализированных IPTV-плеерах
VLC и xTeVe не воспроизводят такой UDP-поток (пробовал и ffmpeg, и разные флаги)
На сайте Первого канала смена региона не помогает — всегда показывает один и тот же часовой пояс.













