Como cortar um quadro de vídeo específico com ffmpeg e converter a taxa de quadros?

Como cortar um quadro de vídeo específico com ffmpeg e converter a taxa de quadros?

há alguns dias, encontro um problema com o ffmpeg que está realmente me deixando louco ... Tento usar o filter_complex do FFMPEG para extrair certos segmentos curtos de um arquivo de vídeo (filmado a 60fps). Conheço os quadros exatos da filmagem original que desejo usar para cortar. Eu uso oapararcomando de filtro junto comsetpts, se eu quiser alterar a velocidade de cada trecho. No caso real, quero ter o primeiro trecho na velocidade original (1.0), e o vídeo de saída resultante deve estar em 30fps em vez das filmagens originais de 60fps. Aqui está o código que estou usando:

ffmpeg -y -i footage60fps -filter_complex " 
[0:v]trim=start_frame=28:end_frame=82,setpts=PTS-
STARTPTS,setpts=1.0*PTS[v0]; 
[0:v]trim=start_frame=10:end_frame=20,setpts=PTS-
STARTPTS,setpts=2.0*PTS[v1]; [v0][v1]concat=n=2:v=1:a=0[out] " -map [out] -
preset ultrafast -r 30 output30fps.mp4

O resultado que espero seria que no primeiro trecho (quadro 28 até o último antes de 82) o ffmpeg descartaria cada segundo quadro ([x]) para convertê-lo de 60fps para 30fps na velocidade normal: [28] [x][30][x][32][x]...[80]

No entanto, o resultado que obtenho é: [28][29][30][31][x][33][x][35][x]...[81]

Alguém entende esse comportamento? Como eu poderia resolver isso? Parece um problema menor, mas acaba sendo muito chato quando se corta uma música, etc... Qualquer ajuda seria muito apreciada!

Responder1

Usar

ffmpeg -y -i footage60fps -filter_complex " 
[0:v]trim=start_frame=28:end_frame=82,setpts=PTS-STARTPTS,framestep=2[v0]; 
[0:v]trim=start_frame=10:end_frame=20,setpts=PTS-STARTPTS,setpts=2.0*PTS[v1];
[v0][v1]concat=n=2:v=1:a=0[out]" -map [out] -r 30 -preset ultrafast output30fps.mp4

Não examinei os motivos do comportamento que você vê, mas quando você mistura fluxos de taxas diferentes como este com o filtro concat e aplica uma conformidade de taxa CFR, a cadência de quedas de quadros nem sempre é a esperada.

informação relacionada