ffmpeg-video trim do final do vídeo

3

Eu tenho alguns vídeos de duração diferente.Eu quero cortar (remover) os últimos 5 segundos de todos os vídeos.Posso usar 'ffmpeg' em um loop para cortar os vídeos? por favor me ajude.

    
por user241329 29.01.2014 / 13:11

1 resposta

2

Isso vai te dar a duração do seu arquivo em segundos:

let A=$(avprobe input.webm 2>&1 | grep "^ *Duration: " | sed "s/^ *Duration: \([0-9:]*\).*/(((\1)/" | sed "s/0\([0-9]\)/\1/g" | sed "s/:/)*60+/g")

Embora avprobe retorne as frações dos segundos, bash não lida com frações. Então eu estou soltando tudo que é menos de 1 segundo.

Depois disso, você pode facilmente fazer algo assim:

let A=$A-5
avconv -i input.webm -t $A -c:v copy -c:a copy output.webm

Desculpe por não usar ffmpeg . Eu mudei para avconv há um tempo atrás, eu acredito que as opções devem ser as mesmas, e se não, deve ser trivial reescrevê-las conforme necessário.

Depois disso, a questão é apenas enrolar a coisa toda no loop for e fazer todos os arquivos de uma só vez.

    
por v010dya 09.11.2014 / 14:09