Eu uso este comando no ffmpeg para converter um vídeo em imagens:
ffmpeg -i video.mp4 -q:v 1 -r 1 -f image2 frame-03d%.jpg
O que eu quero fazer é pular os primeiros x segundos e os últimos y segundos do vídeo da conversão de quadros, que basicamente são a introdução e o final. Cada vídeo tem duração diferente, mas a introdução e o final são sempre iguais em todos os vídeos (cerca de 30 segundos). Existe uma maneira de fazer isso?
Responder1
ffmpeg -i BigBuckBunny_320x180.mp4 -ss 00:00:09.000 -t 60 -q:v 1 -r 1 -f image2 image_%05d.jpeg
-ss start time
-t duration from start time
ou use guarnição
ffmpeg -i BigBuckBunny_320x180.mp4 -vf trim=09:69 -r 1 -f image2 image_%05d.jpeg
Exemplo de como obter a duração do vídeo.
ffprobe -v quiet -show_streams -select_streams v:0 -show_entries stream=duração BigBuckBunny_320x180.mp4 | duração do grep | awk -F= '{imprimir $2}'