oui j'ai vu ca, mais le flux indiqué differe en fonction de si on est fenetré ou en plein ecran...du coup je me demande s'il s'agit bien du flux video reel ou celui extrapolé quand on affiche en plein ecran...
C'est tout à fait normal, c'est le
principe "adaptatif" de base du HLS. Aucune raison que le lecteur te serve du full HD si c'est pour le voir dans une fenêtre de 320px de large.
Si le lecteur est servi avec le m3u8 "master" de la chaîne et que celui-ci indiquent plusieurs flux, le lecteur choisi le flux le mieux adapté aux conditions, fonction de la taille d'écran ou du débit max possible de ta liaison locale.
Exemple du master France 2 pris chez Paradise.
#EXTM3U
#EXT-X-VERSION:5
#EXT-X-MEDIA:TYPE=AUDIO,URI="https://simulcast-p.ftven.fr/ZXhwPTE3MzQ2OTcwOTV+YWNsPSUyZip+aG1hYz1lYjA3YWNhNTJlMDZmZGVjMDBlMWVlMmQwMWU5OWQ5MTRiMmQ4ODc2M2FhZDQ1ODQzMzk5ZTI1MmZkZjU0YzJh/simulcast/France_2/hls_fr2/France_2-mp4a_96000_fra=1.m3u8",GROUP-ID="audio-AACL-96",LANGUAGE="fr",NAME="Francais",DEFAULT=YES,AUTOSELECT=YES,CHANNELS="2"
#EXT-X-MEDIA:TYPE=AUDIO,URI="https://simulcast-p.ftven.fr/ZXhwPTE3MzQ2OTcwOTV+YWNsPSUyZip+aG1hYz1lYjA3YWNhNTJlMDZmZGVjMDBlMWVlMmQwMWU5OWQ5MTRiMmQ4ODc2M2FhZDQ1ODQzMzk5ZTI1MmZkZjU0YzJh/simulcast/France_2/hls_fr2/France_2-mp4a_96000_qaa=3.m3u8",GROUP-ID="audio-AACL-96",LANGUAGE="qaa",NAME="Version Originale",AUTOSELECT=YES,CHANNELS="2"
#EXT-X-MEDIA:TYPE=AUDIO,URI="https://simulcast-p.ftven.fr/ZXhwPTE3MzQ2OTcwOTV+YWNsPSUyZip+aG1hYz1lYjA3YWNhNTJlMDZmZGVjMDBlMWVlMmQwMWU5OWQ5MTRiMmQ4ODc2M2FhZDQ1ODQzMzk5ZTI1MmZkZjU0YzJh/simulcast/France_2/hls_fr2/France_2-mp4a_96000_qad_DESC=2.m3u8",GROUP-ID="audio-AACL-96",LANGUAGE="qad",NAME="Audio Description",AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-video",CHANNELS="2"
#EXT-X-MEDIA:TYPE=SUBTITLES,URI="https://simulcast-p.ftven.fr/ZXhwPTE3MzQ2OTcwOTV+YWNsPSUyZip+aG1hYz1lYjA3YWNhNTJlMDZmZGVjMDBlMWVlMmQwMWU5OWQ5MTRiMmQ4ODc2M2FhZDQ1ODQzMzk5ZTI1MmZkZjU0YzJh/simulcast/France_2/hls_fr2/France_2-dfxp_10000_fra_CAPT=11.m3u8",GROUP-ID="text",LANGUAGE="fr",NAME="Français",DEFAULT=YES,AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-music-and-sound"
#EXT-X-STREAM-INF:BANDWIDTH=255244,AVERAGE-BANDWIDTH=232039,CODECS="avc1.42801e,mp4a.40.2",RESOLUTION=256x144,FRAME-RATE=25.000,AUDIO="audio-AACL-96",SUBTITLES="text"
https://simulcast-p.ftven.fr/ZXhwPTE3MzQ2OTcwOTV+YWNsPSUyZip+aG1hYz1lYjA3YWNhNTJlMDZmZGVjMDBlMWVlMmQwMWU5OWQ5MTRiMmQ4ODc2M2FhZDQ1ODQzMzk5ZTI1MmZkZjU0YzJh/simulcast/France_2/hls_fr2/France_2-avc1_118000=9.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=584055,AVERAGE-BANDWIDTH=530959,CODECS="avc1.42801e,mp4a.40.2",RESOLUTION=384x216,FRAME-RATE=25.000,AUDIO="audio-AACL-96",SUBTITLES="text"
https://simulcast-p.ftven.fr/ZXhwPTE3MzQ2OTcwOTV+YWNsPSUyZip+aG1hYz1lYjA3YWNhNTJlMDZmZGVjMDBlMWVlMmQwMWU5OWQ5MTRiMmQ4ODc2M2FhZDQ1ODQzMzk5ZTI1MmZkZjU0YzJh/simulcast/France_2/hls_fr2/France_2-avc1_400000=8.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1225356,AVERAGE-BANDWIDTH=1113959,CODECS="avc1.4d401e,mp4a.40.2",RESOLUTION=640x360,FRAME-RATE=25.000,AUDIO="audio-AACL-96",SUBTITLES="text"
https://simulcast-p.ftven.fr/ZXhwPTE3MzQ2OTcwOTV+YWNsPSUyZip+aG1hYz1lYjA3YWNhNTJlMDZmZGVjMDBlMWVlMmQwMWU5OWQ5MTRiMmQ4ODc2M2FhZDQ1ODQzMzk5ZTI1MmZkZjU0YzJh/simulcast/France_2/hls_fr2/France_2-avc1_950000=7.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1750055,AVERAGE-BANDWIDTH=1590959,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=960x540,FRAME-RATE=25.000,AUDIO="audio-AACL-96",SUBTITLES="text"
https://simulcast-p.ftven.fr/ZXhwPTE3MzQ2OTcwOTV+YWNsPSUyZip+aG1hYz1lYjA3YWNhNTJlMDZmZGVjMDBlMWVlMmQwMWU5OWQ5MTRiMmQ4ODc2M2FhZDQ1ODQzMzk5ZTI1MmZkZjU0YzJh/simulcast/France_2/hls_fr2/France_2-avc1_1400000=6.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=3032655,AVERAGE-BANDWIDTH=2756959,CODECS="avc1.64001f,mp4a.40.2",RESOLUTION=1280x720,FRAME-RATE=25.000,AUDIO="audio-AACL-96",SUBTITLES="text"
https://simulcast-p.ftven.fr/ZXhwPTE3MzQ2OTcwOTV+YWNsPSUyZip+aG1hYz1lYjA3YWNhNTJlMDZmZGVjMDBlMWVlMmQwMWU5OWQ5MTRiMmQ4ODc2M2FhZDQ1ODQzMzk5ZTI1MmZkZjU0YzJh/simulcast/France_2/hls_fr2/France_2-avc1_2500000=5.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=5947655,AVERAGE-BANDWIDTH=5406959,CODECS="avc1.640029,mp4a.40.2",RESOLUTION=1920x1080,FRAME-RATE=25.000,AUDIO="audio-AACL-96",SUBTITLES="text"
https://simulcast-p.ftven.fr/ZXhwPTE3MzQ2OTcwOTV+YWNsPSUyZip+aG1hYz1lYjA3YWNhNTJlMDZmZGVjMDBlMWVlMmQwMWU5OWQ5MTRiMmQ4ODc2M2FhZDQ1ODQzMzk5ZTI1MmZkZjU0YzJh/simulcast/France_2/hls_fr2/France_2-avc1_5000000=4.m3u8
Chaque ligne commençant par "#EXT-X-STREAM-INF" indique la "BANDWIDTH" nécessaire (la plus grande correspond aux flux le plus rapide, en général la meilleure définition), et plus loin la "RESOLUTION", ce qui t'intéresse, on voit que ça va de 256x144 à 1920x1080.
L'adresse http du flux est un m3u8 secondaire donné à la ligne suivante.
En lisant ce fichier, tu peux donc connaître tous les flux dispos et avoir leurs adresses. Dans le cas présent, la meilleure résolution est à la dernière ligne.
Le m3u8 secondaire est une nouvelle liste de lecture, celle des adresses des "trames TS", c'est à dire du contenu audio/video. Ex. d'un tel fichier chez FTV :
#EXTM3U
#EXT-X-VERSION:5
#EXT-X-TARGETDURATION:8
#EXT-X-MEDIA-SEQUENCE:40963224
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-KEY:METHOD=AES-128,URI="https://simulcast-b.ftven.fr/keys/hls.key"
#EXT-X-PROGRAM-DATE-TIME:2024-12-20T04:12:32.640000Z
#EXTINF:7.68,
France_2-avc1_5000000=4-begin=3145975526400000-dur=76800000-seq=40963224.ts
#EXTINF:7.68,
France_2-avc1_5000000=4-begin=3145975603200000-dur=76800000-seq=40963225.ts
#EXTINF:7.68,
France_2-avc1_5000000=4-begin=3145975680000000-dur=76800000-seq=40963226.ts
#EXTINF:7.68,
France_2-avc1_5000000=4-begin=3145975756800000-dur=76800000-seq=40963227.ts
#EXTINF:7.68,
...
Ce fichier te donne les adresses de tous les petits segments d'audio/video, avec leur durée, en l'occurrence de 7,68 s. Ces adresses sont généralement relatives à l'adresse de base où était le master. Pour l'adresse complète, il faudra donc rajouter avant le (long) nom du fichier .ts, la partie "https://.../.../" qu'on avait avec le m3u8 master.
L'adresse du fichier m3u8 secondaire peut aussi être fournie au lecteur à la place du m3u8 master, auquel cas on forcera la lecture d'une seule résolution, et le lecteur ne pourra plus l'indiquer puisqu'il n'a plus le master.
C'est parfois la chaîne elle-même qui fournit le m3u8 secondaire directement en tant que master, auquel cas l'indication de résolution ne sera pas indiquée, ce qui arrive souvent sur TVRZ. Et je le fais parfois aussi notamment pour certaines adresses dans les listes de lecture, en choisissant la meilleure résolution ce qui évite les tergiversations du lecteur (à noter que Dailymotion m'emm... à ce sujet car son m3u8 fournit des adresses de flux à des résolutions supérieures à ce qu'il est capable de fournir ensuite quand on les lui demande. C'est le pire service de streaming).
L'obtention de la liste de tous les flux à partir du m3u8 master pourrait faire l'objet d'un outil complètement indépendant, mais je ne vois pas trop l'intérêt puisqu'on peut le lire directement dans le navigateur ou le télécharger (c'est le serveur qui décide de la façon de servir le fichier).