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 è 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.
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
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 |