-f hls (HTTP Live Streaming) în FFmpeg

Generează playlist-ul m3u8 și segmentele video necesare pentru streaming adaptiv pe web și iOS/Android.

Sintaxă
ffmpeg -i intrare.mp4 -c:v libx264 -c:a aac -f hls -hls_time 6 -hls_playlist_type vod -hls_segment_filename "segment_%03d.ts" stream.m3u8

Ce face -f hls (HTTP Live Streaming)

HTTP Live Streaming (HLS) este protocolul universal dezvoltat de Apple și adoptat de întreaga industrie pentru livrarea de conținut video la cerere (VOD) sau live pe web.

În loc să descarce un fișier uriaș MP4, browserul sau aplicația mobilă descarcă un fișier text playlist (.m3u8) și cere succesiv mici fragmente de 4–6 secunde (.ts sau .m4s).

Permite comutarea automată a rezoluției în funcție de viteza conexiunii de internet a vizitatorului (Adaptive Bitrate Streaming).

Opțiuni și argumente

Opțiune / Parametru Descriere
-f hls Activează muxerul HLS.
-hls_time <secunde> Durata țintă a fiecărui segment video (recomandat: 4–6 secunde).
-hls_playlist_type vod|event Tipul playlistului (vod = conținut complet la cerere).
-hls_segment_filename <tipar> Numele segmentelor generate (ex: segment_%03d.ts).

Ce returnează

Generarea fișierului index .m3u8 și a colecției de segmente video pe disc.

Exemple

Exemplul 1: Pregătirea unui videoclip pentru playerul web Video.js sau Hls.js

Segmentează videoclipul în calupuri de 6 secunde cu playlist VOD complet.

ffmpeg -i film.mp4 -c:v libx264 -crf 22 -c:a aac -b:a 128k -f hls -hls_time 6 -hls_playlist_type vod playlist.m3u8

Ieșire în terminal

[hls @ 0x14800] Opening 'playlist0.ts' for writing
[hls @ 0x14800] Opening 'playlist1.ts' for writing
[hls @ 0x14800] Opening 'playlist.m3u8' for writing

Greșeli frecvente

  • Setarea unui hls_time care nu este multiplu al intervalului de cadre cheie (GOP), provocând segmente cu durate inegale.
  • Omiterea parametrului -hls_playlist_type vod pentru fișiere pre-înregistrate, determinând FFmpeg să creeze un playlist live glisant care șterge segmentele vechi.

Comenzi înrudite

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: -f hls (HTTP Live Streaming)

Ai o nelămurire despre utilizarea comenzii -f hls (HTTP Live Streaming) sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.