ffmpeg - É possível reter timecodes reais usando -copyts?

1

É uma tarefa simples. Eu quero fazer um clipe convertido de um vídeo usando -copyts para ter timecodes reais. Por exemplo, o clipe convertido deste comando:

ffmpeg -hide_banner -ss 57:41.76 -i input.mp4 -copyts -fs 4085Ki -vf scale=1280:-1 -c:v libvpx -crf 10 -b:v 1000K -maxrate:v 1600K -bufsize 800Ki -threads 4 -quality good -cpu-used 5 -c:a libvorbis -b:a 64Ki -maxrate:a 128Ki input.webm

tem uma duração de 31 segundos, mas:

frame=  938 fps=7.7 q=0.0 Lsize=    4089kB time=00:58:13.15 bitrate=   9.6kbits/s speed=28.8x

Diz que tem 58: 13.15 minutos.

Eu posso atingir a duração normal removendo -copyts do código de comando, mas a razão pela qual estou usando -copyts é evitar ter que calcular os próximos segmentos toda vez, já que posso definir -ss como 58: 13.15 e prossiga.

Para a pergunta, existe alguma maneira de modificar a duração dos arquivos convertidos sem reconvertê-la? Como modificar metadados?

Estou no Windows 7.

    
por HASJ 16.06.2016 / 01:15

1 resposta

2

Acabei de ter -c copy . Tinha esquecido sobre isso:

Coloque todos os seus novos clipes em uma nova pasta (webm como sugestão) e dentro dessa pasta, crie outra pasta chamada new e faça isso

ffmpeg -i input.webm -c copy new\output.webm

Para um processo automatizado, faça isso:

for %i in ("*.webm") do ffmpeg -i %i -c copy new\%~ni.webm

Isso repetirá o comando -c copy para todos os clipes que você converteu.

    
por 16.06.2016 / 01:22