Я использую эту команду в ffmpeg для преобразования видео в изображения:
ffmpeg -i video.mp4 -q:v 1 -r 1 -f image2 frame-03d%.jpg
Я хочу пропустить первые x секунд и последние y секунд видео из преобразования кадров, которые по сути являются вступлением и окончанием. Каждое видео имеет разную длину, но вступление и окончание всегда одинаковы в каждом видео (около 30 секунд). Есть ли способ сделать это?
решение1
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
или используйте обрезку
ffmpeg -i BigBuckBunny_320x180.mp4 -vf trim=09:69 -r 1 -f image2 image_%05d.jpeg
Как узнать продолжительность видео примера.
ffprobe -v quiet -show_streams -select_streams v:0 -show_entries stream=продолжительность BigBuckBunny_320x180.mp4 | grep продолжительность | awk -F= '{print $2}'