Je continue avec les questions à la con, celles qu'on pose après minuit...
Pour essayer de comprendre comment fonctionne le flux TV, qui reste un truc assez nébuleux pour moi à ce stade, j'ai téléchargé le m3u sur tv.milkywan.fr .
Rien de bien sorcier apparemment, c'est un simple fichier texte, il y a la liste des chaînes, avec pour chaque chaîne une URL, pas besoin de lire des RFC pour comprendre comment c'est fait.
Comme je suis curieux (à ces heures...), j'ai essayé de wget la première : ça m'enregistre un flux en continu dans un fichier, jusqu'à ce que je le ^C .
Aucune idée du format, mais avec vlc, j'ouvre le fichier : ça rejoue ce que j'ai enregistré (bah je sais rien d'impressionnant, mais quand on a jamais essayé...)
Si je coupe une tranche du fichier, arbitrairement, entre n'importe ou et n'importe ou + quelques MB, ça donne toujours quelque chose de lisible par vlc.
Oui, comme le dit Hugues, la TV de MilkyWan est un simple MPEG-TS : tu te branches au flux, et bim, tu reçois la data aussi longtemps que tu restes connecté.
Alors je me pose quand même la question : le fameux replay dont il a été question plusieurs fois, ce truc vachement marginalement légal que les FAI semblent pas trop avoir le droit de faire, c'est aussi couillon que ça ? Du coup, chacun peut se le faire, son replay, et en sautant les pubs en plus (enfin... après avoir acheté les disques ). Parce que ce que j'ai download, ça fait à la louche 500 kB/s, donc une dizaine de chaînes sur une semaine, on est à 3 TB, en tirant 40 Mb/s sur la fibre en continu, c'est pas non plus délirant...
Non non non.
Le replay, ce sont les chaines elles-mêmes qui te mettent à disposition les programmes, avec le fichier vidéo, les visuels et les éléments textuels (acteurs, réal, etc).
Toi, FAI, tu n'as strictement rien à faire (à part concevoir une jolie app). Et surtout pas d'enregistrer toi-même le programme et de le mettre à disposition du public, ça rentre dans du pénal.
Autre question, chez K-Net ça a l'air d'être un peu différent. Les liens par chaîne qui se trouvent dans le .m3u sont des fichiers textes .m3u8, qui contiennent eux-même une liste des dernières tranches de temps (?), avec à chaque fois une URL vers un fichier .ts . Aucune idée quel format c'est, mais vlc est capable de lire ces fichiers, chacun fait une dizaine de secondes, et si on les concatène sauvagement (oui, cat...) le résultat est toujours parfaitement lisible.
Pourquoi chez K-Net et chez MilkyWan ça ne fonctionne pas de la même façon ? Il y a un intérêt à l'un ou l'autre des "protocoles" ?
Oui, je sais que je voulais un truc "simple" pour regarder la TV, mais j'aime bien comprendre aussi...
Le problème du HLS, il est conceptuel : tu regardes un flux live sans discontinuité, et pourtant... tout est segmenté : des petits "ts" avec qq secondes, et une chiée de requêtes pour demander les prochaines secondes. Pour parer aux éventualités, cela ajoute bcp de latence au cas où il faut renvoyer la requête, renvoyer le fichier, etc. Et cela complexifie l'infra (car le HLS nécessite du traitement logiciel, alors que le MPEGTS sort directement de chassis TV professionnels).
Pour moi (et ça reste mon avis), la TV (le live) doit être transportée en UDP uniquement. C'est complètement con de se taper les accusés réception de TCP et d'essayer de retransmettre (le paquet va de toutes façons être jeté car d'autres sont arrivés avant, et boom "discontinuty error" dans vlc). Certes pour l'instant c'est comme ça en HTTP par facilité et rapidité de mise en oeuvre, mais ça mérite de revoir le transport afin de bien optimiser cette partie.
Ca va être le prochain challenge de Hugues & sa team : maitriser le transport multicast jusqu'à vous, avec notamment l'arrivée de nouvelles chaines qu'ils signent en direct.