Accueil
images/headers/slide1_eng.png

A chaque démarrage, SS IPTV tente d’accéder à une playlist locale à partir de l'URL http://iptv.local/playlist.m3u

si elle est trouvée, une vignette sera affichée sur l’écran principal.



L'application tentera d’accéder à cette playlist dans tous les cas, que le fournisseur de l'utilisateur soit enregistré dans le système ou non. Cela signifie que vous pouvez fournir très facilement votre playlist pour vos clients en configurant le DNS de la bonne manière, et ce, même si vous n’avez pas été ajouté à la liste des opérateurs pris en charge par l’application.

De plus, s’enregistrer à la liste des opérateurs apporte beaucoup plus de souplesse pour la distribution de votre contenu, cela inclut l'obtention des paramètres d'authentification des utilisateurs (login/mot de passe, identification du dispositif, etc.).

Afin de rapatrier correctement la playlist sur n'importe quel dispositif, le serveur doit la renvoyer avec l’en-tête HTTP Access-Control-Allow-Origin. Toutes les exigences concernant la structure des playlists s’appliquent également depuis un domaine local.

SS IPTV permet d’ajouter dans une playlist, l’url d’un Guide TV externe qui sera chargé lorsque l'utilisateur ouvrira la playlist.

Attention ! Très souvent, les Smart TV n'ont pas assez de ressources pour gérer les guides TV de grande taille ! Une utilisation inconsidérée de cette fonctionnalité peut entraîner un gel prolongé ou même le crash de l'application ! Nous recommandons fortement d’adapter votre guide TV en spécifiant uniquement les chaînes pour lesquelles notre application ne propose pas de guide TV.

Afin de forcer l'application à récupérer un guide TV externe, vous devez ajouter l'attribut x-tvg-url pour la directive #EXTM3U:

#EXTM3U x-tvg-url="EPG_url"

L'application supporte les formats jtv et xmltv. Taille recommandée pour jtv - pas plus de 0,5 Mo, xmltv - pas plus de 5 Mo. Le zippage (gzipping) n'est pas permis pour xmltv.

Afin d'assurer le chargement du Guide TV pour n'importe quel dispositif, le fichier doit être renseigné avec l'en-tête HTTP: Access-Control-Allow-Origin: * En plus de cela, pour xmltv les en-têtes suivants sont également requis:

Access-Control-Allow-Methods: "GET, POST, OPTIONS, HEAD"
Access-Control-Allow-Headers: "Range"
Access-Control-Expose-Headers: "Accept-Ranges, Content-Encoding, Content-Length, Content-Range"

SS IPTV utilise des playlists conformes à la spécification Extended M3U. Vous trouverez des informations détaillées sur la structure du fichier dans notre article Tout savoir sur le format M3U.

Il est important de se rappeler que les requêtes interdomaines sont interdites sur les Smart TV LG, de sorte que le chargement ne sera pas réalisé par un périphérique client lui-même, mais par le serveur de l'application. Cela signifie que le lien vers le fichier doit être disponible à partir du réseau externe (ou au moins pour le serveur de l'application). Si vous voulez que le périphérique client charge directement votre playlist, vous devez configurer votre serveur selon la technologie CORS. Dans la pratique, l'en-tête de réponse http doit contenir la chaîne suivante:

Access-Control-Allow-Origin: *

En outre, la liste de lecture doit être disponible pour les IP: 195.201.246.115, 138.201.198.228 et 94.19.232.121 pour les contrôles périodiques.

Les informations ci-dessous décrivent comment activer CORS pour différentes plateformes

Pour ajouter l'autorisation CORS à l'en-tête avec d'Apache, ajoutez simplement la ligne suivante à l'intérieur des sections <Directory>, <Location>, <Files> ou <VirtualHost> de la configuration de votre serveur (généralement située dans un fichier *. conf, comme httpd.conf ou apache.conf) ou dans un fichier .htaccess:

Header set Access-Control-Allow-Origin "*"

Pour s'assurer que vos modifications sont correctes, il est fortement recommandé d'utiliser

apachectl -t

afin de vérifier la présence d'erreurs dans votre fichier de configuration. Après cette vérification, vous devrez peut-être recharger Apache pour vous assurer que vos modifications sont appliquées.
Pour activer CORS sur Microsoft IIS6, suivez les étapes suivantes:
  1. Ouvrez le Gestionnaire des services Internet (IIS)
  2. Faites clic droit sur le site pour lequel vous voulez activer CORS et allez dans Propriétés
  3. Allez sur l'onglet En-têtes HTTP
  4. Dans la section En-têtes HTTP personnalisés, cliquez sur Ajouter.
  5. Saisissez Access-Control-Allow-Origin comme nom d'en-tête et * comme valeur d'en-tête.
Pour Microsoft IIS7, ajoutez le code suivant au fichier web.config situé à la racine de votre site:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <system.webServer>
   <httpProtocol>
     <customHeaders>
       <add name="Access-Control-Allow-Origin" value="*" />
     </customHeaders>
   </httpProtocol>
 </system.webServer>
</configuration>

Si vous n'avez pas de fichier web.config, créez simplement un nouveau fichier web.config contenant l'extrait ci-dessus.
Si vous ne souhaitez pas changer la configuration de votre serveur, vous pouvez utiliser PHP pour ajouter l'en-tête nécessaire dans un fichier séparé:
<?php
header("Access-Control-Allow-Origin: *");
$playlist = file_get_contents('playlist.m3u');
echo($playlist);
?>
Dans cet exemple, le lien de la playlist pour SS IPTV sera le lien du fichier PHP.
Ajoutez un en-tête CORS via add_header du fichier de configuration Nginx dans la section "location".
add_header Access-Control-Allow-Origin *;
L'emplacement par défaut est /etc/nginx/sites-available/default

Pour configurer l'Autorisation Utilisateur dans SS IPTV, l'opérateur doit créer un script spécial qui renverra la playlist en fonction des données d'authentification reçues des paramètres GET. La playlist renvoyée par le script doit répondre pleinement aux exigences du CORS et de l'encodage (utf-8)

Exemple d'URL d'un script:

http://example.com/playlist.php?user=test_login&pass=test_pass

Lorsque le script est prêt, le fournisseur doit modifier le type d'accès du package depuis l’interface dédiée aux opérateurs:

  • Token - autorisation avec un paramètre
  • Login/pass - autorisation avec deux paramètres

Ensuite, l'opérateur doit spécifier un lien vers le script qui renvoie la liste de lecture, en remplaçant les données que l'utilisateur doit entrer dans des variables d'environnement spéciales:

  • ${token} - jeton entré par l'utilisateur (autorisation avec un paramètre)
  • ${login} - login entré par l'utilisateur (autorisation avec deux paramètres)
  • ${password} - mot de passe entré par l'utilisateur (autorisation avec deux paramètres)

Example:

http://example.com/playlist.php?user=${login}&pass=${password}

Grâce au système de playlists imbriquées intégré dans SS IPTV, vous pouvez créer pour vos utilisateurs des structures hiérarchiques complexes incluant des transitions d'une playlist à l'autre. Ces structures peuvent s’avérer utile pour la réalisation d’une vidéothèque ou d’un système de vidéo à la demande.

Dans cet article, nous décrirons comment utiliser les playlists imbriquées pour relier votre vidéothèque. Pour cela, vous aurez probablement besoin des attributs tvg-logo et description ainsi que des directives #EXTSIZE et #EXTBG décrites dans l'article Tout savoir sur le format M3U.

La principale différence entre une playlist avec arborescence et une playlist classique est que ses éléments ne se réfèrent pas à des flux vidéo, mais à d'autres playlists. Pour spécifier à l'application que l'élément est une playlist et non un flux vidéo, utilisez l'attribut type avec la valeur playlist.

Notez que si l’URL de la playlist est avec l'extension m3u ou xspf, il n'est pas nécessaire d'utiliser l'attribut type. L'application définira automatiquement le type de l'élément.

Voici un exemple de playlist pour réaliser une vidéothèque:

#EXTM3U
#EXTINF:0 type="playlist", 2015
http://example.com/playlists/2015.m3u
#EXTINF:0 type="playlist", 2010-2014
http://example.com/playlists/2010-2014.m3u
#EXTINF:0 type="playlist", A-Z
http://example.com/playlists/a-z.m3u
#EXTINF:0 type="playlist", Documentary
http://example.com/playlists/docs.m3u
#EXTINF:0 type="playlist", Drama
http://example.com/playlists/drama.m3u
#EXTINF:0 type="playlist", Comedy
http://example.com/playlists/comedy.m3u
#EXTINF:0 type="playlist", TV Series
http://example.com/playlists/serials.m3u
#EXTINF:0 type="playlist", Triller
http://example.com/playlists/trillers.m3u
#EXTINF:0 type="playlist", Horror
http://example.com/playlists/horror.m3u
#EXTINF:0 type="playlist", Fiction
http://example.com/playlists/fantastic.m3u

La playlist ressemblera à ça dans l’application:




Utilisons maintenant l'attribut tvg-logo et la directive #EXTSIZE pour rendre notre playlist plus visuelle:

#EXTM3U
#EXTINF:0 type="playlist", 2015
#EXTSIZE: Medium
http://example.com/playlists/2015.m3u
#EXTINF:0 type="playlist", 2010-2014
#EXTSIZE: Medium
http://example.com/playlists/2010-2014.m3u
#EXTINF:0 type="playlist", A-Z
#EXTSIZE: Medium
http://example.com/playlists/a-z.m3u
#EXTINF:0 tvg-logo="http://example.com/logos/docs.png", documentary
http://example.com/playlists/docs.m3u
#EXTINF:0 tvg-logo="http://example.com/logos/drama.png", Drama
http://example.com/playlists/drama.m3u
#EXTINF:0 tvg-logo="http://example.com/logos/comedy.png", Comedy
http://example.com/playlists/comedy.m3u
#EXTINF:0 tvg-logo="http://example.com/logos/serials.png", TV Series
http://example.com/playlists/serials.m3u
#EXTINF:0 tvg-logo="http://example.com/logos/trillers.png", Triller
http://example.com/playlists/trillers.m3u
#EXTINF:0 tvg-logo="http://example.com/logos/horror.png", Horror
http://example.com/playlists/horror.m3u
#EXTINF:0 tvg-logo="http://example.com/logos/fantastic.png", Fiction
http://example.com/playlists/fantastic.m3u

Voici le résultat après modification:




Les playlists enfants peuvent contenir des liens vers des flux vidéo ou de nouvelles sous-sections de playlists, créant ainsi une structure cataloguée. Voici le contenu du fichier fantastic.m3u:

#EXTM3U size="medium"
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic1.png" type="video" description="2014", Edge of Tomorrow
http://example.com/stream1
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic2.png" type="video" description="2005", Flightplan
http://example.com/stream12
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic3.png" type="video" description="1997", Gattaca
http://example.com/stream3
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic4.png" type="video" description="2003", Identity
http://example.com/stream4
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic5.png" type="video" description="2014", Interstellar
http://example.com/stream5
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic6.png" type="video" description="2010", Inception
http://example.com/stream6
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic7.png" type="video" description="2001", K-PAX
http://example.com/stream7
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic8.png" type="video" description="1999", Matrix
http://example.com/stream8
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic9.png" type="video" description="2002", The Bourne Identity
http://example.com/stream9
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic10.png" type="video" description="2004", The Butterfly Effect
http://example.com/stream10
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic11.png" type="video" description="2008", The Curious Case of Benjamin Button
http://example.com/stream11
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic12.png" type="video" description="2008", The Dark Knight
http://example.com/stream12
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic13.png" type="video" description="2012", The Dark Knight Rises
http://example.com/stream13
#EXTINF:0 tvg-logo="http://examples.com/logos/films/fantastic14.png" type="video" description="1997", The Fifth Element
http://example.com/stream14

L'attribut size de la directive #EXTM3U définit la taille par défaut de toutes les vignettes de cette playlist. Bien sûr, il est possible de varier la taille de certaines vignettes pour, par exemple, afficher les films les plus populaires. L'attribut type avec la valeur video indique à l'application que les éléments de la liste de lecture se réfèrent à une vidéo, c'est-à-dire que ces flux peuvent être mis sur pause ou rembobinés sur l'écran de lecture. Cet attribut n'est pas obligatoire mais nous vous recommandons de l'utiliser pour éviter toute ambiguïté.

Soyez prudent lors de l’utilisation de l'attribut tvg-logo sur des grosses playlists (plusieurs centaines d'éléments). N’affichez pas d’images de grande taille car le chargement simultané de ces dernières peut entraîner un manque de mémoire sur votre Smart TV et provoquer un crash de l'application.

Voici à quoi ressemblera la playlist fantastic.m3u affichée ci-dessus:


We use cookies to improve our website and your experience when using it. To find out more about the cookies we use and how to delete them, see our Privacy Policy. I accept cookies from this site