Deslocando a hora de início das legendas fazendo um .gif de .mkv no ffmpeg

1

seguindo @ LordNeckbeard's advice , posso adicionar uma faixa de legenda a um gif, no entanto a faixa de legendas está incluída no arquivo .mkv. Eu posso ajustar a hora de início do arquivo de entrada, mas a faixa de legenda está começando do começo.

Após gerar uma paleta, o comando para criar o gif é:

ffmpeg -v warning -ss $start_time -t $duration -i video.mkv -i $palette -filter_complex "fps=60,scale=720:-1:flags=lanczos, subtitles=video.mkv [x]; [x][1:v] paletteuse" -y "$outputfile"

Mas o filtro de legenda não está mudando para $ start_time. Existe uma maneira de especificar isso no filtro? Ou eu preciso primeiro extrair o arquivo de legenda e editá-lo para começar na seção apropriada?

    
por Jon 26.12.2016 / 23:25

1 resposta

0

Com a busca rápida, o ffmpeg não decodifica ou filtra os quadros até que a hora de início seja atingida. Então, quando o filtro (legendas) é iniciado, ele começa no início do SRT. Mudar para a busca lenta, colocando o ss e t após a entrada, obtém o comportamento desejado.

ffmpeg -v warning -i video.mkv -i $palette -ss $start_time -t $duration -filter_complex "fps=60,scale=720:-1:flags=lanczos, subtitles=video.mkv [x]; [x][1:v] paletteuse" -y "$outputfile
    
por 27.12.2016 / 06:21