Eu tenho tentado alcançar uma transição de crossfade entre 2 clipes de vídeo usando ffmpeg, mas falhei até agora. Eu sou novo no ffmpeg e confio principalmente em ajustar o que posso encontrar na documentação e nos exemplos existentes online. Pelo que li até agora, usar o filtro de mistura ou de sobreposição deve ajudar a alcançar o que estou procurando, mas não consigo descobrir os detalhes da linha de comando para fazê-lo funcionar.
Os filtros fade e concat são ótimos para o desvanecimento do vídeo 1, o desvanecimento para o vídeo 2 e as transições do tipo de clipe 2 para 1, mas eu apreciaria a ajuda para obter um comando de transição do vídeo 1 para o vídeo 2 sem nenhuma ficando preto no meio. Não encontrei exemplos para esse problema exatamente em nenhum lugar, talvez esteja procurando as palavras-chave erradas ...?
Mais especificamente, meus vídeos são mp4s (vídeo h264, sem som, caso isso importe), cada um tem 5 segundos de duração e estou após uma transição de aprox. 4.5s de vídeo 1 a 0.5s de vídeo 2.
Semelhante ao que este tutorial faz usando MLT e quadros (veja 2:25 para um exemplo de desbotamento), embora eu esteja procurando uma maneira de fazer isso apenas no ffmpeg sem chamar outros progs. http://www.youtube.com/watch?v=3PRZ9L_KLdI
Qualquer ponteiro ou talvez uma linha de comando para obter um desbotamento como esse seria muito apreciado, muito obrigado!
Respostas:
Eu sugiro fazer dessa maneira:
Portanto, o comando para adicionar crossfade a 2 vídeos (5 segundos) cada deve ser:
Isso diminui o primeiro vídeo para alfa no 4º segundo (st = 4) durante 1 segundo (d = 1), diminui no segundo em 0 segundo (st = 0) durante 1 segundo (d = 1) e move sua exibição tempo para 4 segundos (+ 4 / TB). Depois, cortamos 9 segundos da cor preta, escalamos para produzir o tamanho do vídeo e sobrepomos o material.
Espero que ajude.
fonte
-i 1.mp4 -i 2.mp4...
, certo?Foi assim que eu fiz:
1) Adicione o desbotamento (claro ao escuro) no final do 1º e o desbotamento (escuro ao claro) no início do 2º:
76:24 significa que o desbotamento iniciará o quadro 76 e terminará 24 quadros mais tarde = 1s desaparecer.
0:25 significa que o fade in começará o quadro 0 e terminará 25 quadros depois.
2) Mesclar os 2 vídeos
Converter tudo em TS
Mesclar
Graças a:
http://www.bogotobogo.com/FFMpeg/ffmpeg_fade_in_fade_out_transitions_effects_filters.php
fonte
O ffmpeg-concat é a maneira mais fácil de realizar o que você deseja e permite que você use várias transições OpenGL sensuais, com o padrão sendo crossfade.
O ffmpeg-gl-transição é um filtro ffmpeg personalizado que permite usar o GLSL para fazer a transição suave entre dois fluxos de vídeo. Esse filtro é significativamente mais fácil de usar e personalizar do que as alternativas listadas aqui.
Esse filtro suporta uma grande lista de tipos de transição, com o padrão sendo crossfade.
fonte