Aller au contenu

[TUTO] xTeVe via docker, IPTV pour Plex, Emby ou Jellyfin


Messages recommandés

Posté(e)

Préambule

Vous avez un(des) abonnement(s) IPTV et vous souhaitez utiliser les capacités de Plex, Emby ou Jellyfin pour partager ce dernier ou enregistrer des programmes, alors xTeVe est fait pour vous et se comporte comme un HDHomeRun.

Ce tutoriel n'utilise ni le ssh, ni la version graphique de docker pour une mise en place rapide.

Il part du principe que vous avez déjà un utilisateur pour votre lecteur multimédia et que nous utiliserons pour ce docker, je n'ai mis que l'ajout pour Plex, si des membres veulent rajouter pour Emby et Jellyfin.

Le Dockerfile est fait sur le pouce... vous pouvez soumettre des suggestions, mais je l'ai fait version simpliste sans script en 2 minutes 😅

 

I - Préparation de l'installation

A ) On commence par la création d'un dossier "xTeVe" dans le dossier "docker"

B ) Création de 3 sous dossiers que vous créez dans le dossier "xTeVe" : "linuxserver-xteve", "config" et "transcode"

C ) Récupération du PUID pour le dockerfile :

Connectez vous en ssh et tapez dans la console "id UtilisateurMultimédia", on prendra alors note du uid retourné.

 

II - Création du docker

A ) Le dockerfile

La création d'un fichier "Dockerfile" dans le sous dossier "einsteinium-xteve" contenant les lignes suivantes :

FROM ghcr.io/linuxserver/baseimage-ubuntu:focal

ENV DEBIAN_FRONTEND="noninteractive"
ENV TZ=Europe/Paris
ARG USERUID=XXXX

RUN apt-get update && \
	apt-get install -y unzip && \
	apt-get clean && \
	ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
	curl -o /tmp/xteve_linux_amd64.zip -L "https://github.com/xteve-project/xTeVe-Downloads/blob/master/xteve_linux_amd64.zip?raw=true" && \
	mkdir -p /xteve && \
	unzip -o /tmp/xteve_linux_amd64.zip -d /xteve && \
	rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* && \
	useradd -u $USERUID -g users -s /bin/sh xteve && \
	mkdir -p /home/xteve/.xteve/backup/ && \
	mkdir /tmp/xteve && \
	chmod +x /xteve/xteve && \
	chown -R xteve:users /home/xteve /tmp/xteve /xteve/xteve

USER xteve

VOLUME /home/xteve/.xteve
VOLUME /tmp/xteve

EXPOSE 34400

HEALTHCHECK --interval=30s --start-period=30s --retries=3 --timeout=10s \
	CMD curl -f http://localhost:34400/ || exit 1

ENTRYPOINT ["/xteve/xteve"]

CMD ["-port=34400"]

La variable à personnaliser : ARG USERUID=XXXX (Par le résultat du point "I -> C")

B ) Le script du docker

La création d'un fichier "dockerxteve.sh" dans le dossier "xTeVe" contenant les lignes suivantes :

#!/bin/sh

docker pull ghcr.io/linuxserver/baseimage-ubuntu:focal

docker stop xTeVe

docker rm xTeVe

docker rmi linuxserver/xteve:latest

docker build -t linuxserver/xteve /volume1/docker/xTeVe/linuxserver-xteve/

docker image prune -f

docker volume ls -qf dangling=true | xargs -r docker volume rm

docker run -d \
	--cpu-shares=10 \
	--memory=134217728 \
	--memory-swap=134217728 \
	--name=xTeVe \
	-p 34400:34400 \
	-v /volume1/docker/xTeVe/config:/home/xteve/.xteve:rw\
	-v /volume1/docker/xTeVe/transcode:/tmp/xteve:rw \
	linuxserver/xteve:latest

exit 0

C ) Création

Nous créons une tâche qui pour la création de notre docker afin de ne pas passer en ssh : Panneau de configuration / Planificateurs de tâches / Créer / Tâche déclenchée / Script défini par l'utilisateur

Avec pour utilisateur "root", en évènement "Démarrage" et dans le script le chemin de notre fichier "/volume1/docker/xTeVe/dockerxteve.sh"

Exécutez manuellement la tâche pour la création initiale, pensez à la désactiver.

 

III - Finalisation

A ) Configuration de xTeVe

Maintenant il ne vous reste plus qu'à accéder au portail web de l'application pour la configuration de base : http://192.168.X.X:34400/web

Pour la configuration de base je vous renvoie vers la page officiel : https://github.com/xteve-project/xTeVe-Documentation/blob/master/en/configuration.md#initial-configuration

Si certains ont du mal avec cette configuration de base, j'en ferai une en rajout à ce tutoriel.

Je vous recommande de mapper vos chaines avec les numéros de chaine SFR, qui à l'EPG le plus complet dans Plex.

Dans les réglages en "Stream Buffer", mettez "xTeVe", cela permettra de régler la limite max de flux par abonnement IPTV, le flux lui restera tel quel, vos lecteurs sont tous capables de les lire nativement, inutile de passer par ffmpeg ou vlc.

B ) Ajout dans Plex/Emby/Jellyfin

1) Pour Plex

Nous allons dans "réglage", puis "TV en direct et enregistreur vidéo" et l'on fait "ajouter un autre appareil" et l'on renseigne directement l'adresse : http://localhost:34400

Si vous avez correctement mapper avec les bons numéros de chaines, en choissant SFR pour l'EPG, vous n'avez plus qu'à valider.

2) Pour Emby

...

3) Pour Jellyfin

...

 

C'est terminé, enjoy 😉

Je remercie Sofienne qui de cause à effet est à l'origine de ce tutoriel.

Posté(e)

Merci pour ce tuto, même si je n'utilise pas le LiveTV.
Juste une remarque, ton conteneur xteve est en bridge d'après ton docker run, et tu NAT sur le NAS le port 34400.
Mais de souvenir sur ton tutoriel, Plex est en macvlan, du coup localhost:34400 depuis Plex ne devrait mener à rien, sauf si Plex est en host (mais dans ce cas-là, pas besoin de NAT le port).

Si Plex en macvlan, et xteve en bridge, c'est plutôt http://IP_VIRTUELLE_DU_NAS:34400 qu'il faudrait taper.

Posté(e)

Merci pour ce tuto !!

Je n'ai pas encore d'abonnement iptv mais j'y pense depuis pas mal de temps.

J'ai une question , est-ce que le comportement est exactement le même qu'avec le HDHomerun  ?

Actuellement avec le HDHomerun si ont regarde une chaine sur plex et qu'un autre utilisateur regarde aussi cette chaine sur plex , alors plex n'utilise qu'un seul tuner du HDHomerun.

C'est identique avec cette intégration de l'iptv dans plex ?

Et encore merci pour tes tutos 😉.

Posté(e)

@.Shad. J’ai abandonné le macvlan depuis longtemps, mon Plex est en host.

Ta remarque est pertinente j’éditerais demain en fonction des cas, ce dock est bien en bridge, concernant le nat du port c’est pour l’accès à l’interface web pour la configuration, que l’on peut faire ainsi au choix, soit via ce port, soit via reverse. (Afin de ne pas complexifier le tutoriel)

@El_Murphy Oui c’est exactement le même comportement en tout point.

On peut même choisir le nombre de tuner total à ce HDHomeRun virtuel, et pour chaque source IPTV une limite de tuner indépendamment, après concernant le message de limite de tuner atteint, il dépendra de la configuration :

Exemple 1 avec une source et une limite de tuner identique, cela sera comme avec le hdhomerun et Plex signalera la demande de basculement ou de tuner plein

Exemple 2 avec plusieurs sources mais des limites de tuner différentes, xteve l’affichera en flux vidéo fixe, admettons 3 tuners max, une source à 2 tuner et l’autre à 1 :

- La source à 1 est déjà utilisé, le lancement d’un deuxième flux sur cette même source affichera en flux vidéo fixe que la source à 1 a atteint sa limite.

- Tous les 3 tuners sont pris (2+1), alors cela sera le message classique de Plex.

Par contre j’utilise un hdhomerun qui diffuse la tnt, actuellement je n’ai pas activé les chaînes de la tnt sur la source xteve, je testerais demain voir le comportement dans Plex en cas de doublon.

  • 1 mois après...
Posté(e)

@Einsteinium

Merci beaucoup pour ton tuto, je me lance enfin à configurer l'IPTV sur Plex. 

Dans un premier temps je suis en testing pour voir comment ça fonctionne de manière générale, par ailleurs si vous avez des liens avec des listes IPTV gratuites (M3U et EPG) qui fonctionne (je me fous que ça soit la télévision croate ou encore colombienne) je veux simplement voir si j'arrive à faire fonctionner mon setup, on verra plus tard si je décide d'aller vers un service payant ! (mais je n'y suis pas encore)certes...

 

Actuellement mon problème est le suivant, j'ai essayé de trouver une liste M3U, mais sans EPG mais je reste bloqué dans Plex (configuration du Tuner), dans celui-ci, il me demande le pays (pour le catalogue EPG), mais ça bloque, un conseil que je pourrais suivre ?

En attendant de vous lire,

Belle journée

Posté(e)
Il y a 18 heures, Einsteinium a dit :

Première screen, 0 channel 🙂

Il faut mapper tes chaines dans xteve, les activées quoi, je ferais un second post suite au tutoriel avec un exemple de configuration.

Oui, merci ça serait vraiment excellent d'avoir plus de détails sur cette étape

Posté(e)

Bonjour,

Voila, je viens finalement de comprendre le principe avec le mapping des chaines dans xTeve, par contre, une fois mes chaines disponibles dans Plex, voici le message d'erreur que je reçois

Une idée ?

merci tout le monde

Capture d’écran.png

Posté(e)
Il y a 3 heures, Einsteinium a dit :

Problème de flux à coup sur, a tu testé avec flex voir si ton flux passe bien ?

Flux ? tu veux dire par la ?

mes médias fonctionnent sur plex (musique et autres films en local)

Posté(e)

Vlc pardon, correcteur… le flux que tu as rajouté dans xteve en premier lieu, s’il marche ensuite via xteve (tu as les adresses sur le haut avec port à ouvrir/mapper), a mon avis cela coince à l’un d’eux.

Posté(e)
Il y a 14 heures, Einsteinium a dit :

Vlc pardon, correcteur… le flux que tu as rajouté dans xteve en premier lieu, s’il marche ensuite via xteve (tu as les adresses sur le haut avec port à ouvrir/mapper), a mon avis cela coince à l’un d’eux.

J'ai ouvert le port par défaut 34400, j'ai toujours le même message d'erreur, par contre, je ne suis pas sur du flux que j'ai trouvé, je suis simplement entrain d'effectuer des tests et voir comment ça fonctionne

VLC, que veux tu dire par là ?

Posté(e)

Oui car tu as un problème de flux, il faut savoir si cela vient du flux en lui même ou ta configuration xteve, pour cela que je te dis de testé via VLC, le flux directement et s’il marche alors via xteve

Posté(e)
Il y a 20 heures, Einsteinium a dit :

Oui car tu as un problème de flux, il faut savoir si cela vient du flux en lui même ou ta configuration xteve, pour cela que je te dis de testé via VLC, le flux directement et s’il marche alors via xteve

Je viens de faire le test concernant le flux en question via VLC, celui-ci fonctionne parfaitement.
Je dois essayer de comprendre pourquoi celui-ci ne fonctionne pas via xTeve

 

Posté(e)

Ok je viens de voir, xTeVe attends un m3u qui contient directement des flux (format ts dans mon cas), la dans ton mu3...on retrouve d'autres m3u qui renvois vers d'autres m3u... Bref c'est pas un format normalisé, voilà pourquoi xTeVe est dans les choux 🙂

  • 4 mois après...
Posté(e)

Bonjour,

Je viens de tombé sur ce tuto qui m'intéresse beaucoup car l'idée de tout regrouper dans Plex me plais enormément.

J'ai commencer à étudier ce qui est écrit et je ne comprend pas quoi faire dans la commande explicité ci-dessous.

Le 23/01/2022 à 20:26, Einsteinium a dit :

La création d'un fichier "Dockerfile" dans le sous dossier "einsteinium-xteve" contenant les lignes suivantes :

Ok je créer le fichier et après ? Faut-il une autre version de Docker que celle utilisée dans les packages Synology ?

D'avance merci de votre aide

  • 1 mois après...
Posté(e)

Je me suis attaqué à ce tuto ce matin mais j'avoue qu'une fois arrivé sur la page en 32400/web je ne sais absolument pas quoi mettre :x
Pour la télé à la maison, j'ai la décodeur orange ou encore mycanal.
Je peux afficher ça sur PLEX ? ou j'ai complètement pas compris ? :x

Merci

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.