Ho fatto un'analisi sui live di Rai Play, e il risultato è che hanno una gran fantasia. Le risoluzioni cambiano spesso, così come l'ordine delle playlist HLS. In genere i player prendono la prima "risoluzione" quando il player viene avviato, quindi in molti casi secondo la configurazione della Rai viene scelto il flusso con qualità peggiore (che ha un bitrate inferiore a 1 Mbps), per poi scalare. Visti i bitrate già bassissimi, in alcuni casi ci sarebbe da aggiustare l'ordine (vedi Rai Storia che parte dal peggiore, o Rai Yoyo che parte dal migliore... apparentemente a caso).
Non so se questi flussi sono gli stessi forniti su mobile, ma in quel caso c'è un problema perché non c'è nemmeno un flusso con profilo baseline, per cui alcuni dispositivi mobile più vecchi sono automaticamente esclusi dallo streaming.
Ottima secondo me la scelta dei reference frame (è dimostrato che un valore basso non influenza in modo percepibile la qualità), e invece non comprendo due cose: l'intervallo tra gli I-frame è di solo 1 secondo, che è pochino... su un segmento di 10 si potrebbe portare a 2, così corrisponde anche con la durata del segmento da 2. E a proposito di segmenti, ai miei occhi è totalmente inspiegabile il miscuglio tra segmenti da 2 secondi e segmenti da 10 secondi. Molto meglio quelli da 2 per una questione di latenza, ma sono usati a caso.
Infine faccio notare che alcuni flussi sono protetti da DRM, per cui non ho potuto analizzarli in dettaglio (sarebbe possibile ma non ne ho il tempo ora...).
rai1
704x396 | 1,42 Mbps | avc1.77.31
928x522 | 2,11 Mbps | avc1.77.31
512x288 | 0,94 Mbps | avc1.77.31
----
rai2
704x396 | 1,32 Mbps | avc1.77.31
928x522 | 1,92 Mbps | avc1.77.31
512x288 | 0,93 Mbps | avc1.77.31
----
rai3
512x288 | 0,86 Mbps | avc1.77.31
704x396 | 1,27 Mbps | avc1.77.31
928x522 | 1,90 Mbps | avc1.77.31
----
rai4
704x396 | 1,33 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP ? | segment=2,0 | nominal=1200kb/s CBR | total=1311kb/s | fps=25.000
928x522 | 1,93 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP ? | segment=2,0 | nominal=1800kb/s CBR | total=1941kb/s | fps=25.000
512x288 | 0,93 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP ? | segment=2,0 | nominal=800kb/s CBR | total=940kb/s | fps=25.000
----
rai5
1024x576 | 1,98 Mbps | avc1.77.41 | Main@L4.1 | ref=2 | GOP M=3, N=25 | segment=10,0 | nominal=1800kb/s CBR | total=2063kb/s | fps=25.000
704x396 | 1,32 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP M=3, N=25 | segment=10,0 | nominal=1200kb/s CBR | total=1354kb/s | fps=25.000
512x288 | 0,89 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP M=3, N=25 | segment=10,0 | nominal=800kb/s CBR | total=921kb/s | fps=25.000
----
rainews24
624x352 | 1,33 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP M=3, N=25 | segment=10,0 | nominal=1200kb/s CBR | total=1320kb/s | fps=25.000
704x396 | 1,96 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP M=3, N=25 | segment=10,0 | nominal=1800kb/s CBR | total=1955kb/s | fps=25.000
512x288 | 0,85 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP M=3, N=25 | segment=10,0 | nominal=750kb/s CBR | total=850kb/s | fps=25.000
----
raisportpiuhd
928x522 | 2,41 Mbps | avc1.77.31 | Main@L3.1 | ref=3 | GOP ? | segment=2,0 | nominal=1800kb/s CBR | total=2268kb/s | fps=25.000
704x396 | 1,61 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP ? | segment=2,0 | nominal=1200kb/s CBR | total=1530kb/s | fps=25.000
512x288 | 1,05 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP ? | segment=2,0 | nominal=800kb/s CBR | total=1229kb/s | fps=25.000
----
raisport
704x396 | 1,91 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP M=3, N=25 | segment=10,0 | nominal=1800kb/s CBR | total=1956kb/s | fps=25.000
512x288 | 0,88 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP M=3, N=25 | segment=10,0 | nominal=800kb/s CBR | total=910kb/s | fps=25.000
624x352 | 1,29 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP M=3, N=25 | segment=10,0 | nominal=1200kb/s CBR | total=1329kb/s | fps=25.000
----
raimovie
704x396 | 1,24 Mbps | avc1.77.30 | Main@L3.1 | ref=2 | GOP M=3, N=25 | segment=9,9 | nominal=1200kb/s CBR | total=1373kb/s | fps=25.000
1024x576 | 1,87 Mbps | avc1.77.30 | Main@L4.1 | ref=2 | GOP M=3, N=25 | segment=9,9 | nominal=1800kb/s CBR | total=2058kb/s | fps=25.000
----
raipremium
704x396 | 1,24 Mbps | avc1.77.30 | Main@L3.1 | ref=2 | GOP M=3, N=25 | segment=9,9 | nominal=1200kb/s CBR | total=1375kb/s | fps=25.000
1024x576 | 1,87 Mbps | avc1.77.30 | Main@L4.1 | ref=2 | GOP M=3, N=25 | segment=9,9 | nominal=1800kb/s CBR | total=2067kb/s | fps=25.000
----
raiyoyo
1024x576 | 1,98 Mbps | avc1.77.41 | Main@L4.1 | ref=2 | GOP M=3, N=25 | segment=10,0 | nominal=1800kb/s CBR | total=1982kb/s | fps=25.000
704x396 | 1,31 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP M=3, N=25 | segment=10,0 | nominal=1200kb/s CBR | total=1338kb/s | fps=25.000
512x288 | 0,90 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP M=3, N=25 | segment=10,0 | nominal=800kb/s CBR | total=956kb/s | fps=25.000
----
raigulp
512x288 | 0,92 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP M=3, N=25 | segment=10,0 | nominal=800kb/s CBR | total=893kb/s | fps=25.000
----
raistoria
512x288 | 0,87 Mbps | avc1.77.31 | Main@L3.1 | ref=4 | GOP ? | segment=10,0 | nominal=800kb/s CBR | total=868kb/s | fps=25.000
704x396 | 1,28 Mbps | avc1.77.31 | Main@L3.1 | ref=4 | GOP ? | segment=10,0 | nominal=1200kb/s CBR | total=1254kb/s | fps=25.000
928x522 | 1,88 Mbps | avc1.77.31 | Main@L3.1 | ref=4 | GOP ? | segment=10,0 | nominal=1800kb/s CBR | total=1843kb/s | fps=25.000
----
raiscuola
512x288 | 0,87 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP ? | segment=2,0 | nominal=800kb/s CBR | total=928kb/s | fps=25.000
704x396 | 1,28 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP ? | segment=2,0 | nominal=1200kb/s CBR | total=1361kb/s | fps=25.000
928x522 | 1,88 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP ? | segment=2,0 | nominal=1800kb/s CBR | total=2014kb/s | fps=25.000
----
raisportpiuhd
928x522 | 2,41 Mbps | avc1.77.31 | Main@L3.1 | ref=3 | GOP ? | segment=2,0 | nominal=1800kb/s CBR | total=1805kb/s | fps=25.000
704x396 | 1,61 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP ? | segment=2,0 | nominal=1200kb/s CBR | total=1260kb/s | fps=25.000
512x288 | 1,05 Mbps | avc1.77.31 | Main@L3.1 | ref=2 | GOP ? | segment=2,0 | nominal=800kb/s CBR | total=849kb/s | fps=25.000
----
raieuropeanchampionshipslive1
1280x720 | 2,63 Mbps | avc1.77.32
----
raieuropeanchampionshipslive2
1280x720 | 2,64 Mbps | avc1.77.32
Il codice (pasticciato) sta qua:
https://github.com/matteocontrini/raiplay