Área triangular de safra com FFMPEG

3

É possível cortar uma área triangular de um vídeo usando filtros ffmpeg?

Eu tenho que cortar essa área de um vídeo de entrada 1920 x 1080, então eu tenho que girar essa área de 90 graus quatro vezes. O vídeo de saída deve ficar assim:

Estaéumaimagemanterior:

Esta é uma imagem posterior:

Obrigado antecipadamente!

    
por user3485914 01.04.2014 / 18:41

1 resposta

9

Faça um efeito caleidoscópio com ffmpeg

Exemplodecomando

ffmpeg-ivideo.mkv-loop1-imask.png-filter_complex\"[1:v]alphaextract,split[a1][a2]; \
 [0:v][a1]alphamerge,transpose=1[e]; \
 [0:v][a2]alphamerge,transpose=2[w]; \
 [0:v]vflip,hflip[s]; \
 [0:v]pad=ih*2:ih*2:x=(ow-iw)/2[n]; \
 [n][s]overlay=W/2-w/2:W/2[bg]; \
 [bg][e]overlay=W/2:H/2-h/2[bg2]; \
 [bg2][w]overlay=0:H/2-h/2" \
-codec:a copy output.mkv

Filtros FFmpeg usados

Notas

  • Use um ffmpeg recente. Ou faça o download de uma compilação Linux de ffmpeg ou siga um passo a passo guide para compilar ffmpeg .

  • Você precisará criar uma imagem que contenha uma máscara alfa. Ele precisa ter o mesmo tamanho de quadro da entrada de vídeo, portanto, se video.mkv for 1920x1080, mask.png também precisará ser 1920x1080. Você pode baixar a máscara alfa deste exemplo.

  • split foi usado porque não consegui reutilizar com êxito o mesmo rótulo de link para a saída alphaextract , e nunca usei os filtros alpha* antes, portanto, o exemplo poderia ser encurtado.

  • A cor de fundo preta do filtro pad é visível nos cantos. O filtro crop pode ser usado para removê-lo, se você preferir.

  • O áudio é copiado em fluxo em vez de ser recodificado.

  • Consulte o FFmpeg e o x264 Encoding Guide para obter informações adicionais sobre como controlar a qualidade da saída.

por 02.04.2014 / 02:42