2. AGENDA
Martedì 17 settembre
Cos'è il live streaming
il workflow e le tecnologie
Concetti fondamentali
Giovedì19 settembre
Specifiche di Encoding - H264
Distribuzione Multiscreen (Desktop, Mobile ,OTTS
Martedì 24 settembre
Specifiche di encoding
Tipologie di encoder (desktop, hardware, OP , cloud
encoders)
scegliere ed utilizzare un Live Encoder.
Encoding on demand
www.b-frames.com
Giovedì 26 settembre
lo streaming server e l'Adaptive Streaming
Outbound / uplink (trasmissione del flusso al server)
Martedì 1ottobre
I sistemi di distribuzione LIVE (Streaming Server -OVP-LSSP-
LSHP - UGC) [scegliere una VOP - scegliere LSSP - rich
Media Presentation]
Giovedì 3 ottobre
la produzione di un evento live (la pianificazione - le luci-
l'audio - la camera - lo sfondo)
gli strumenti essenziali
HEVC e Mpeg-DASH
Lesson
2
3. Distribuzione concetti chiave
Attualmente esistono diverse opzioni di distribuzione dei contenuti video live e VoD
Progressive Download (VoD) = video distribuito da HTTP server piuttosto che da uno
streaming server. Il video è distribuito come un qualsiasi altro file (pdf, jpeg etc). Tutte le
tecnologi edi playback (html5, iOS, Flash e Android ) supportano il progressive download
Streaming (Live + VoD) = flusso continuo di dati audio/video attraverso uno streaming server
( adobe media server, Wowza MS, Helix ) verso dispositivi target.
Permette la visualizzazione del video in tempo reale senza download del file.
I file distribuiti in streaming devono essere compressi notevolmente per evitare interruzioni
nella distribuzione e visualizzazione.
Adaptive streaming (Live + VoD) = 1 stream in ingresso , molteplici streams in uscita
Streams cambiano automaticamente per adattarsi a fattori come:
Client bandwidths (evita bruschi stop)
CPU utilization (evita perdita di frames)
Buffer conditions
Playback windows size (640 x 360 non avrò 720p)
Diverse tecnologie (http e rtmp)
www.b-frames.com
Lesson
1
4. Lezione 2 fondamenti dello streaming
Cos’è l’H264
Parametri di codifica basilari
Profili e livelli
Entropy Coding
Cosa fa Youtube?
CBR vs CVR
I,P e B frames ecosa sono e come configurarli
H264 : la qualità differisce in base al Codec
Codifica dell’Audio
Formati e specifiche H264 per Flash, Silverlight ed HTML5
H264 per Desktop, Mobile ed OTT
www.b-frames.com
Lesson
2
5. WORKFLOW aspetti tecnologici
In un evento live streaming gli elementi e le scelte tecnologiche riguardano :
la ripresa di un video, l’encoding del segnale AV in un formato che possa essere distribuito su IP, la trasmissione del segnale in outbound
dall’encoder al server (Wi-Fi, ethernet o 4G) , la scelta dello streaming server, la creazione di una landing page o di un palyer per
permettere la visualizzazione agli utenti, la distribuzione dello stream agli utenti (CDN, popria connettività, LSSP etc)
www.b-frames.com
Lesson
2
6. H264 H 264 www.b-frames.com
Codec deifinto da ITU e ISO
MPEG-4 specifiche
H264 è un codec definito all’interno delle specifiche del MPEG-4. Le specifiche
sono divise in 28 “Parts”
Part 2 - MPEG video codec (the MPEG-4 codec)
Part 3 - MPEG-4 audio (AAC, etc)
Part 10 - Advanced Video Coding (AVC/H.264) - H.264/MPEG-4 AVC
Part 14 - container format (MP4)
Si può encodare H264 in diversi format container- img
tratta da Sorenson Squeeze.
Unico codec approvato dai 3 grandi providers (Apple, Adobe, Microsoft)
MULTIDEVICE = MPEG-4 (file .MP4) riproducibile su quasi tutti i
dispositivi (OTT, desktop, mobile)
Wrapper /format container per MPEG-4
.M4V - Apple’s variant for iTunes and devices
.MOV - H.264 file for editing or QuickTime delivery
.F4V - H.264 for Flash
.3GP - (not shown) - phone
.MPG - H.264 in MPEG-2 transport stream
Lesson
2
7. H264 profili www.b-frames.com
Profili = Definiscono il set di strumenti ed algoritmi che si possono utilizzare
per creare uno stream.
H.264 - High qualità di codifica migliore, impegantivo in termini di
CPU usage da codificare e decodificare.
H.264 – main Scegliere questo profilo di alta qualità per la maggior
parte degli scenari basati su flussi Web.
H.264 - baseline qualità di stream più bassa, semplice da codificare e
decodificare (adatto a dispositivi con scarsa CPU – mobile)
Utilizzare il profilo sbagliato compromette la visualizzazione su
alcuni dispositivi
Bisogna conoscere il profilo supportato dal dispositivo target
Per i dispositivi mobile bisogna fare scelte precise
Desktop ed OTT supportano tutti i profili
Perchè i profili?
punto di convergenza tra produttori di dispositivi e produttori di video.
Lesson
2
8. H264 profili – quale scegliere? www.b-frames.com
I profili sono importanti per i dispositivi mobile
Esempio dispositivi Apple :
Bisogna configurare il profilo adatto per la riproduzione sui diversi target
Lesson
2
9. H264 profili – quale scegliere? www.b-frames.com
Unico set di file –tutti Baseline – che sono riproducibili da tutti??
meno costoso
più facile
Separate files:
Baseline – iOS molto datati and Android
Main – vecchi iOS and Android
High – nuovi iOS, computers and OTT
ottima qualità ma costi di storage e banda più elevati, oltre che in termini di cpu encoder e
Telestream Episode
Lesson
2
10. H264 profili – quale scegliere? www.b-frames.com
Qualche differenza notevole si ha con un bitrate ridotto : 640x360@240 kbps
Lesson
2
11. H264 livelli www.b-frames.com
Da Wikypedia
livelli = limitano alcuni parametri come il bitrate nello stream codificato in relazione al profilo.
Importante non superare il livello consigliato
dai device
Alcuni device non caricano e riproducono
file encodati ad un livello eccedente.
Non eccedere il livello consigliato
Flash/HTML5 players riporducono tutti I profili e tutti I livelli
Lesson
2
12. H264 Entropy coding www.b-frames.com
CABAC = (Context-adaptive binary arithmetic coding)
più efficente, migliore qualità , difficoltoso da decodificare
Compatibile solo con main ed High profile
CAVLC = (Context-adaptive variable-length coding)
meno efficente, facile da decodificare
CABAC 5- 15% più efficente di CAVLC
Lesson
2
13. Codec H264 I , B e P - frames www.b-frames.com
I-Frame codificato senza riferiemntoi agli altri frames (Key Frames) encodato autonomamente con tencnlogia intraframe meno
efficenti dal punto di vista della codifica
P-Frame guarda indietro, I e P frames (predictive), ovvero si forma in base ad un altro frame
B - Frame guarda avanti e indietro rispetto ad I e p frames (Bi-directional interpolated) più efficenti per la codifica
GOP group of pictures
Lesson
2
14. Codec H264 I , B e P - frames www.b-frames.com
Key-Frame o I-Frame
Delta Frame o B,P-Frames
B e P Frames contengono solo la parte di fotogramma cambia
rispetto al Key frame
Inquadratura intervista con eccellente codifica (molta informazione
ridondante)
Lesson
2
15. Codec H264 configurare I Frames (key frames) www.b-frames.com
Quanti I-frames?1 ogni 300 frames o 1 ogni 10 secondi
Abilitare “natural and force….”per avere un I-frames ad ogni
cambio scena .
Apple raccomanda 1I- frame ogni 90
Youtube 1 ogni due secondi
Poco efficenti per la codifica
Ma, favoriscono la interattività (favorendo lo scorriemnto del video attraverso la bar)
Tutte le riproduzioni partono con un I-frame
Quando si usa la barra di scorrimento video, si riprende sempre da un Key frame
Il massimo intervallo dovrebbe essere 5-10 secondi
Utili al cambio scena , (abilita il Key frame al cambio scena)
Quando si fa encodign per adaptive streaming
Usare un intervallo di Key frame più piccolo
Disabilitare “scene Change “
Lesson
2
16. Codec H264 configurare B Frames www.b-frames.com
Disponibili solo su Main/High profiles
Il frame più efficente
Migliora la qualità della codifica
Difficoltoso da decodificare
Il Decoder/dispositivo deve mantenere in buffer tutti I frames a cui si referenzia il B-frame
I Frame non sono ordinati correttamente, questo complica la riproduzione
Telestream episode Pro
Quanti B-Frames? B frames tra I e P frames . 3 è raccomandato .
Reference Frame= frame in cui B-frames cerca informazione ridondante (sia B che P). 5 è
raccomandato
Lesson
2
17. Codec H264 configurazioen avanzata B-frames www.b-frames.com
IDR frames
IDR key frame – nessun frame può fare riferimento a frames
precedenti
Non-IDR key frames – B- and possono far riferimento a K frames
recedenti
In streaming tutti I Key Frames dovrebbero essere IDR
Adaptive B-frames – posizione il B-Frame dove la complessità lo
richiede (high – main profile)
Abilitare sempre
Reference B-frames – Consente di utilizzare i b-frame come
fotogrammi di riferimento. Questa opzione non è disponibile per il
profilo base
Abilitare per qualità ottimale
Pyramid B-frame – consente al B-frames d fare riferimento ad un
altro B-frames
Abilitare per qualità ottimale
Lesson
2
20. Codec H264 configurare I Frames (key frames) www.b-frames.com
Configura il codec
Rez/data rate/key frames
De-interlacing
Aspect ratio
Bitrate control
Scegli il codec H.264 migliore
codec (x264 > MC >Apple)
Con questo hai sottocontrollo il 98% della qualità del tuo video
Lesson
2
21. H264 cosa fa Youtube? www.b-frames.com
File 720p
CABAC
High profile
Level 3.1
Key frame intervalalti di 60
frames o (2 sec)
Non utilizzaB frames M=1
Lesson
2
22. Codec H264 CBR vs VBR www.b-frames.com
Constant vs Variable Bit Rate
Scelta bitrate encoding in Adobe media encoder
Dopo la scelta del bitrate bisogna scegliere il bitrate control
VBR o CBR ?
Lesson
2
23. Codec H264 CBR www.b-frames.com
Constant Bit Rate unico bitrate applicato all’intero video
Media 600Kbps
Picco 776 Kbps
Opzioni
1 pass = singolo encoding + veloce , live
2 pass = doppio encoding lento, solo per VoD (ottimizzazione + codifica)
Non presente in tutti gli encoder
Microsoft experssion Encoder
Pro:
Calcolo leggero per la macchina
Veloce- 1 pass
Contro:
Non ottimizza la qualità
Lesson
2
24. Codec H264 VBR www.b-frames.com
Variable Bit Rate bitrate variabile a seconda della complessità dei frames
Media 600Kbps
Picco 1255 Kbps
Opzioni
costrained= i picchi vengono limitati
unconstrained= non ci sono li miti ai picchi di codifica
Pro:
Qualità ottimale
Contro:
Lento Doppia codifica o tripla
Lesson
2
25. Codec H264 CBR vs VBR? www.b-frames.com
Cosa scegliere tra Constant e Variable Bit Rate?
Constrained VBR (200% max e 50%min) per lo streaming
Highly Constrained VBR (150% max e 70%min) per distribuzione per mobile
Constrained VBR per i mobile
CBR o constrained VBR per adaptive streaming
CBR Live streaming (1pass) soprattutto con uplink limitato
Lesson
2
26. Codec H264 configurare l’audio www.b-frames.com
Sorenson Squeeze
Data rate audio bit rate, come per il video , quantità di dati al secondo espresso in Kbps
Sample rate numero di volte al secondo in cui è campionato l’audio 44100 Hz (44.100
samples al secondo) è un audio ottimale , qualità CD
Channell stereo o mono
Sample size numero di bit per ogni sample/campione, generalmente 16bit
Cosa c’è d sbagliato in questa immagine? per uno speaker con unica
fonte audio ( il microfono) non ha senso fare encoding stereo
Il file stereo è creato da un file mono duplicando semplicemente la
traccia mono , duplicando la quantità di dati da comprimere.
CNN, NY Times pubblicano video con audio mono 64Kbps
(speaker con singolo microfono)
Un file Mono è riprodotto solo da uno dei due speaker sul desktop?
No, quando si encoda un segnale mono, durante la riproduzione il file
è pubblicato sullo speaker dx e sx.
Se la fonte è mono Encoding mono - risparmiamo bitrate per il Video
Lesson
2
27. H264 codifica audio www.b-frames.com
Raccomandazioni
Vedere cosa suggeriscono I dispositivi target
Per i device mobili scegliere low
Se in dubbio, scegliere AAC-LC (low complexity)
Il più compatibile
Disponibile universalmente negli encoder MPEG-4/H.264
AAC-Low Complexity (AAC-LC)
Più basico e maggiormente compatibil
Non distinguibile da HE AAC/HE AACv2
High Efficiency AAC (2003) chiamato AAC+ e aacPlus
High Efficiency AACv2 (2006) chiamato AAC+, aacPlus v2
and eAAC+
Lesson
2
28. FLASH vs HTML5 breve storia www.b-frames.com
Evoluzione delle tecnologie di distribuzione video su internet /mercato desktop
Real network : 1996 – 2001 = pionieri nello streaming AV (primo evento su internet nel 1995 , partita basbell seattle mariners-NY Yankees)
Prima tecnologia streaming, nel 2000 l’85% dei contenuti in streaming in formato REAL. Aspetti negativi/declino:
Processi background del player
Aggiornamenti continui
Player non customizzabile
Concorrenza, non diviene più essenziale e successivamente disinstallato
Microsoft: 2001-2006) = dal 200 formato più diffuso WMV.
Aspetti negativi/declino:
Player non customizzabile
Plug-in per il MAC necessario
Concorrenza, non diviene più essenziale e successivamente disinstallato
Flash -2006 ..= transizione della programmazione siti da html a flash (maggiore flessibilità e interattività) . Macromedia inserisce il Codec
on2 VP6 e flash garantisce la stessa qualità di microsoft nella riproduzione dei video.
Il player è customizzabile e cross paltform (MAC).
Con la aggiunta del codec H264 (2010) flash diviene sempre più dominante.
Lesson
2
29. FLASH vs HTML5 breve storia www.b-frames.com
Evoluzione delle tecnologie di distribuzione video su internet /mercato desktop
Silverlight :2007.. = ambiente di runtime simile a flash ( piattaforme Windows e Mac) che consente di visualizzare, all'interno del browser,
Rich Internet application . Nel 2013 penetrazione complessiva pari al 70% ma solo il 50% s piattaforme MAC.
La necessità di scaricare il palyer ne frena la diffusione. Ottimo per eventi particolari o intranet (olimpiadi o ambienti ristretti campus, etc).
Sensato l’utilizzo se :si hanno contenuti in WMV (encoding non necerssario) o programmatori .NET
Con windows 8 microsoft sta andando verso HTML 5
HTML 5: 2010..= nel 2010 l’iPad Apple non supporta Flash. Utilizza invece tecnologia HTML 5 per il playback dei video.
L’attenzione generale si sposta sul HTML5.
aspetti positivi:
HTML5 permette di embeddare e visualizzare un video in una pagina web, senza plugin di terze parti . Semplicemente usando
l’elemento <video> , il player è nativo nel browser.
compatibilità cross device: dispositivi mobile e OTT
aspetti negativi:
il supporto dei codec è frammentato e demandato ai vendor (mozzilla, , opera, etc)
35% mercato browser (vecchi browser) non supporta html 5
L’aggiornamento de codec Flash diventa operativo su tutti i player (vedi H264)
Perché html5 funzioni serve compatibilità browser e compatibilità codec
Per coprire il mercato desktop nel 2013 e nel 1014 è ancora necessario flash
Lesson
2
30. Playback HTML 5 www.b-frames.com
Raccomandazioni di encodign per compatibilità
con i browser:
Flash VP6 in .flv format
H.264(Baseline) in .mp4 container.
VP8/WEBM in .webm container.
Theroa/Vorbis in a .ogv container.
Codec = il supporto dei codec in HTML 5 è frammentario e delegato ai vendor
Intreccio difficoltoso: doppia compatibilità browser e compatibilità codec
FALLBACK = è la capacità di un player flash di selezionare
la tecnologia di playout migliore tra html5 e flash.
il server richiede compatibilità browser verso HTML5,:
se ok, prosegue playout in html5,
se negata, il server richiede la riproduzione al flash
player (se installato)
Per coprire il mercato desktop nel 2013 e nel 1014 è ancora necessario flashLesson
2
Codec = H264 , WebM, Theora+Vorbis+OGG
Formati = .MOV, .F4V ed .MP4 (quest’ultimo preferibile)
31. Playback Silverlight , Flash , Quicktime www.b-frames.com
Codec = H264 tutti i profili tutti i livelli
Formati = .MOV, .F4V ed .MP4
Lesson
2
Codec = H264 tutti i profili tutti i livelli
Formati = (più flessibile , supporta tutti i formati, quasi tutti)
.F4V - ..MOV - .MP4 – 3GP – MPEG-4
Audio = AAC Low, HE AAC , AAC Main
Codec = H264 tutti i profili tutti i livelli (qualche problema sui player più vecchi)
Formati = .MOV ed .MP4
33. Playback Dispositivi Mobile -iOS www.b-frames.com
Lesson
2
Raccomandazioni Apple encoding multidevice iOS
H264 su tutti dispositivi
34. Playback Dispositivi Mobile –Android www.b-frames.com
Lesson
2
Best practices Google per encoding su android
Molteplicità HW dispositivi
I dispositivi non riportano
specifiche relativa all’H264
H.264 AVC
Formati di protocollo supportati
RTSP (RTP, SDP)
HTTP/HTTPS progressive streaming
HTTP/HTTPS live streamin
Formati e codec supportati
35. Playback Dispositivi Mobile –windows mobile www.b-frames.com
Lesson
2
I telefoni wndows attualmente non supprotano FLASH
Supporta solo lo smooth streaming come tencologia adaptive streaming
Non tutti i telefoni supportano il cambio risoluzione dinamico
Parametri di configurazione per il video 1080p
37. LIVE ENCODING profili comuni e best practice
Fonte: Brightcove
www.b-frames.com
Lesson
2
38. Q & A ……..
www.b-frames.com
Lesson
2
Nella prossima lezione …....
Specifiche di encoding
Tipologie di encoder (desktop, hardware, OP , cloud encoders)
Scegliere ed utilizzare un Live Encoder.
Encoding on demand