aparar e fade in / out de vídeo e áudio com avconv (ou ferramenta diferente)

3

Estou usando avconv para aparar e converter vídeos. Digamos que eu queira descartar os primeiros 7 e últimos 2,5 segundos do fluxo de vídeo e um fluxo de áudio de um arquivomts de uma hora:

avconv -i input.mts -map 0:0 -map 0:3 -ss 0:0:07 -t 0:59:50.5 out.mov

Isso funciona até agora, mas agora eu quero adicionar dois segundos de desaparecimento no início e no final adicionando:

-vf fade=type=in:start_frame=350:nb_frames=100 -vf fade=type=out:start_frame=178750:nb_frames=100

Esses quadros são calculados com os 50 fps que avconv reporta para a fonte de vídeo. Mas não há nem desaparecendo nem desaparecendo.

1) O que está errado com o enfraquecimento do vídeo e como fazer isso certo? 2) Como adicionar o desvanecimento de áudio. Parece haver uma opção -afade . mas eu não acho documentado.

Alternativamente, você pode propor uma ferramenta diferente para este objetivo (aparar e esmaecer vídeo e áudio), preferencialmente disponível como pacote para o Debian 8.

    
por Philippos 18.05.2017 / 10:42

2 respostas

0

Eu finalmente encontrei tempo para tentar a resposta sugerida pelo @Mario G., mas parecia extremamente complicado. Eu preciso fazer isso muitos dozends de vezes. Eu li a documentação de ffmpeg e achei muito mais poderoso que avconv , incluindo desvanecimento para áudio e vídeo, então a solução é

ffmpeg -i input.mts -map 0:0 -map 0:3 -ss 0:0:07 -to 0:59:57.5 -vf 'fade=t=in:st=7:n=60,fade=t=out:st=3595.5:n=60,crop=out_h=692' -af 'afade=in:st=7:d=2,afade=out:st=3595.5:d=2' out.mov

Portanto, os parâmetros st= do fade demoram em segundos, não há necessidade de conversão em quadros, apenas o n= está nos quadros por algum motivo. O comprimento para o fade de áudio também está em segundos.

Eu também descobri que a opção -to leva o horário final diretamente, em vez de calcular o tamanho.

Este comando faz todas as etapas (seleção de canal, corte, desvanecimento e corte) em uma única etapa.

    
por 14.08.2017 / 07:14
2
Aparar:

ffmpeg -i input.mts -ss 00:00:20.0 -c copy -t 00:00:30.0 output.mkv

Procure 20 segundos - (i) n input.mkv (e descarte, por padrão) deixe-o tocar por 30 segundos e descarte todo o resto de lá. Então você tem um vídeo de 30 segundos.

Fade

Primeiro, você precisa criar uma imagem para seus desvanecimentos. Provavelmente, uma única imagem * .png, totalmente branca ou preta, dependendo do seu gosto. Na mesma resolução, seu vídeo foi gravado, de preferência.

ffmpeg -r 1/2 -i black.png -c:v libx264 -r 50 -y -pix_fmt yuv420p fade2s.mkv

Isso significa desvanecer 2 segundos (-r entrada: 1/2 x 50 quadros por segundo = 100 fps). Para as informações da imagem, você pode verificar o Gimp ou o ImageMagick. Agora você tem o seu efeito de desvanecimento.

Fade In:

ffmpeg -i fade2s.mkv -y -vf fade=in:0:50 fade_in.mkv

Diminuir de 0 a 50 quadros (1 segundo - 50 fps)

Fade In + Out: Pegue a última entrada como seu fade in e adicione algum fade out

ffmpeg -i fade_in.mkv -y -vf fade=out:120:50 fade_in_out.mkv

Concluído.

    
por 21.06.2017 / 15:16