Remover parte do vídeo usando apenas a linha de comando (provavelmente FFMPEG)

2

Eu tenho um arquivo .mp4 de 4 horas de duração e quando eu o carrego no Youtube, toda a faixa de áudio fica muda por causa de 30 segundos de algumas músicas entre 01:21:47 e 01:22:24, como posso remover JUST essa parte do vídeo, ou melhor ainda - apenas ESTA parte do áudio do vídeo?

Espero que alguém possa me ajudar aqui, obrigado!

    
por Cherona 11.09.2016 / 07:15

2 respostas

4

Se tiver certeza de que é apenas essa parte do áudio, você pode simplesmente ignorá-lo:

ffmpeg -i input.mp4 -af volume=0:enable='between(t,01:21:47,01:22:24)' -c:v copy output.mp4

Dependendo do seu shell, você pode ter que escapar dos dois pontos nos timecodes, ou talvez mudar para a representação de segundos (01:21:47 = 4907, 01:22:24 = 4944).

    
por 11.09.2016 / 09:04
0

Você pode fazer isso com um filtro de gráficos FFmpeg.

Tente algo ao longo destas linhas:

ffmpeg -i input.mp4 -filter_complex '[0:v] trim=end=01:21:47 [v1], [0:a] atrim=end=01:21:47 [a1], [0:v] trim=start=01:22:24 [v2], [0:a] atrim=start=01:22:24 [a2], [v1][a1][v2][a2] concat=n=2:v=1:a=1 [v][a]' -map '[v]' -map '[a]' output.mp4

Esse filtro específico divide a entrada em quatro partes: o segmento de vídeo inicial, o segmento de áudio inicial, o segmento de vídeo final e o segmento de áudio final. Em seguida, concatena os segmentos de vídeo e áudio juntos.

Consulte o link para obter mais detalhes sobre filtragem.

    
por 11.09.2016 / 07:23

Tags