AREA riservata

AREA AD ACCESSO RISERVATO

AREA AD ACCESSO RISERVATO

Cosa'è HLS

HLS è un protocollo di comunicazione streaming.
Simile a MPEG-DASH, utilizza anch'esso un sistema di frammentazione del file video che poi viene trasmesso direttamente al Buffer del player, ogni file carica un breve pezzo del flusso video.
Il sistema HLS permette oltre tutto di avere più flussi video codificati con diverse risoluzioni che permette una sessione adattiva
All'inizio della sessione, HLS scarica una "playlist" estesa contenente i metadati per i diversi sotto-flussi che sono disponibili.

FFmpeg

FFmpeg è il software più performante e completo per la conversione dei file video, su di esso si basana la maggior parte dei converitori video
FFmpeg è stato sviluppato per Linux ma è stato ormai compilato per tutti i sistemi operativi
Uno dei grandi vantaggi di FFmpeg è la possibilità di essere utilizzato a righe di comando.

Stringhe di conversione

Il sistema ToMovie accetta file HLS per la trasmissione dei file video a pagamento.
Per generare questi file è necessario scaricare FFmpeg. Nell'area riservata ai nostri clienti è possibile scaricare il paccetto "portable" della libreria FFmpeg.
Oppure direttamente dal sito ufficiale
Analizziamo ora la stringa per convertire i file:

ffmpeg -i "nome_file_in.mp4" -vf scale=w=1920:h=1080:force_original_aspect_ratio=decrease -c:a aac -ar 48000 -b:a 192k -c:v h264 -profile:v main -crf 20 -g 48 -keyint_min 48 -sc_threshold 0 -b:v 5000k -maxrate 5350k -bufsize 7500k -hls_time 4 -hls_playlist_type vod -hls_list_size 0 -f hls "nome_file_out.m3u8"

Questa stringa produrrà un file .m3u8 ed una serie di file .st
Se voleste approfondire l'argomento possiamo consigliare queta fonte

I file m3u8

Alla stringa sopra possiamo a questo punto sostituire i valori per poter generare più di un file video, con diverse risoluzioni.

Qualità Risoluzione bitrate
movimento lento
bitrate
alto movimento
bitrate audio
240p 426x240 400k 600k 64k
360p 640x360 700k 900k 96k
480p 854x480 1250k 1600K 128k
HD 720p 1280x720 2500K 3200K 128k
HD 720p 60fps 1280x720 3500K 4400k 128k
Full HD 1080p 1920x1080 4500k 5300K 192k
Full HD 1080p 60fps 1920x1080 5800K 7400k 192k
4k 3840x2160 14000k 18200 192k
4k 60fps 3840x2160 23000k 29500k 192k