FFMPEG para interpolação de quadros ala Twixtor

1

Algum especialista do FFMPEG pode me dizer se o FFMPEG pode fazer qualquer interpolação de quadros sofisticada semelhante ao plugin Twixtor no After Effects? Em caso afirmativo, quais seriam algumas configurações sugeridas para tentar? Eu estou tentando criar imagens em HD de câmera ultra-lenta a partir de uma fonte de 60fps. ou seja, converter para 120fps e interpolar os quadros.

    
por Bachalo 12.11.2012 / 17:57

3 respostas

2

O FFmpeg não pode fazer isso.

Houve algumas discussões sobre a implementação desse recurso há alguns anos, mas até agora eles não lançaram nada semelhante à interpolação de quadros no projeto.

Você poderia, é claro, usar uma ferramenta gratuita semelhante à slowmoVideo que também é hospedada no GitHub se você quiser dar uma olhada na fonte.

    
por 12.11.2012 / 21:30
1

Como sugerido por Mulvya em um comentário, a biblioteca libavfilter tem um filtro chamado minterpolate , que está disponível desde Novembro de 2016. De acordo com a descrição do fitler, seu objetivo é:

"Convert the video to specified frame rate using motion interpolation."

Exemplo de uso:

ffmpeg -i input.60fps.hevc -filter "minterpolate='fps=120'" output.120fps.hevc

Eu não sei quais configurações usar para obter o melhor resultado possível. Pela minha experiência, as configurações padrão fornecem qualidade aceitável da própria interpolação de movimento. Mas há alguns artefatos visuais muito visíveis introduzidos ocasionalmente. Não consegui encontrar uma combinação de configurações que as eliminasse completamente.

O filtro está muito lento no momento. Ele pode gerar cerca de 2 quadros interpolados por movimento de vídeo 1080p por segundo em uma CPU x86 moderna e sofisticada. Tenho notado que a interpolação utiliza apenas um único encadeamento da CPU, que é provavelmente a principal razão para uma velocidade tão lenta.

Para acelerar o filtro em uma CPU multi-core, pode ser aconselhável dividir o vídeo de entrada em vários pedaços de igual comprimento e aplicar a interpolação de movimento a todos eles em paralelo.

    
por 06.03.2017 / 01:14
0

Meses após a atualização:

ffmpeg -i input.mp4 -movflags +faststart -filter_complex "[0:v]minterpolate='fps=60:mi_mode=mci:me_mode=bidir:mc_mode=obmc:me=ds:vsbmc=1'" -preset ultrafast output.mp4

postagem original:

Consigo alcançar esses efeitos (embora não perfeitos), com tblend filter

ffmpeg -i source.mp4 -filter:v tblend -r 120 result.mp4

    
por 27.11.2016 / 19:49

Tags