• Bodecs Bela's avatar
    avformat/hlsenc: strftime identifiers and segment index · 0ff8c6b6
    Bodecs Bela authored
     in filenames
    
    Putting date/time values into segment filenames is very usefull.
    But to produce non-conflicting segment filenames with -use_localtime
    option with date/time
    values in hls_segment_filename option, sometimes is not enough.
    Like in cases when multiple segments produced in the same second.
    But hlsenc currently does not make possible to use segment index (%d) at
    the
    
    same time whe use_localtime is in effect, due to identifier conflict.
    This patch makes possible to use strftime identifiers and still put
    segment index (%d) at same time in segment filenames by introducing
    second_level_segment_index flag. When -use_localtime is active,
    identifier %d is for month day index, so %%d is the segment index
    placeholder. This enhanced behaviour only exists when new
    second_level_segment_index flag is specified.
    For instance putting 'segment_%Y%m%d%H%M%S_%%05d.ts' value into
    -hls_segment_filename option and specifing -hls_flags
    second_level_segment_index and -use_localtime 1, may produce segment
    filename as 'segment_20161230235758_00002.ts'
    
    An example:
    
    ffmpeg -loglevel info -y -f lavfi -i color=c=red:size=640x480:r=25 -f
    lavfi -i anullsrc=r=44100:cl=stereo -c:v mpeg2video -g 25 -acodec aac
    -cutoff 20000 -ac 2 -ar 44100 -ab 192k -f hls -hls_time 3 -hls_list_size
    5 -hls_flags delete_segments+second_level_segment_index -use_localtime 1
    -hls_segment_filename "segment_%Y%m%d%H%M%S_%%05d.ts" stream.m3u8
    
    will produce segments filenames:
    
    ....
    segment_20161227005902_00013.ts
    segment_20161227005902_00014.ts
    segment_20161227005902_00015.ts
    segment_20161227005903_00016.ts
    segment_20161227005903_00017.ts
    segment_20161227005903_00018.ts
    segment_20161227005903_00019.ts
    segment_20161227005903_00020.ts
    ....
    Signed-off-by: 's avatarBela Bodecs <bodecsb@vivanet.hu>
    0ff8c6b6
hlsenc.c 42.2 KB