FFmpeg HLS formato de nome de arquivo muxer .ts

1

É possível ter .ts arquivos nomeados por data / hora (qualquer formato) em vez de número de sequência ao usar o HLS muxer ? Se sim, como pode ser feito?

ffmpeg -i - -hls-some-option-here test_stream.m3u8

test_stream_20141116174310.ts
test_stream_20141116174312.ts
test_stream_20141116174314.ts
test_stream_20141116174316.ts
    
por Brad 17.11.2014 / 00:43

2 respostas

2

Veja o segmento muxer , que fornece uma implementação mais genérica e flexível de um segmentador e pode ser usado para realizar a segmentação por HLS.

O muxer de segmento suporta expansão strftime com -strftime 1 (desativado por padrão). Isso permite que os segmentos sejam nomeados pela criação de tempo.

De man ffmpeg-formats :

strftime 1|0

Use the strftime function to define the name of the new segments to write. If this is selected, the output segment name must contain a strftime function template. Default value is 0.

Exemplo:

ffmpeg -i input.mkv -codec copy -map 0 -f ssegment -strftime 1 \
-segment_list test_stream.m3u8 -segment_time 10 test_stream_%Y%m%d%H%M%S.ts

stream_segment é uma variante do muxer usado para gravar em formatos de saída de fluxo, ou seja, que não exigem cabeçalhos globais e é recomendado para a saída, por exemplo para segmentos de fluxo de transporte MPEG. ssegment é um alias mais curto para stream_segment .

    
por 30.01.2015 / 22:28
2

Não há opção para adicionar registro de data e hora no arquivo ts usando o ffmpeg. A única opção que resta é fazer alterações no código ffmpeg. Você pode modificar o arquivo libavformat / segment.c. Modifique a variável entry->filename na função segment_file() .

    
por 30.01.2015 / 21:59

Tags