Istnieje wiele samouczków i materiałów pokazujących, jak wyodrębnić wiele zrzutów ekranu z wideo za pomocą ffmpeg. Ustawiasz -r i możesz nawet zacząć od określonej kwoty w.
Ale chcę tylko 1 zrzut ekranu, powiedzmy 01:23:45 cala. Lub 1 zrzut ekranu przy 86% cala.
To wszystko jest możliwe dzięki ffmpegthumbnailer, ale jest to kolejna zależność, na której nie chcę polegać. Chcę móc to zrobić za pomocą ffmpeg.
vframes
jest to przestarzałe w (przynajmniej) wersji 4.2.2. Według instrukcji „[vframes
] jest przestarzałym aliasem dla„-frames:v
”, którego należy używać zamiast tego”.FFMpeg może to zrobić, szukając podanej sygnatury czasowej i wyodrębniając dokładnie jedną klatkę jako obraz, patrz na przykład:
Wyjaśnijmy opcje:
-ss
Parametr przyjmuje wartość w formieHH:MM:SS[.xxx]
lub jako liczbę w sekundach. Jeśli potrzebujesz wartości procentowej, musisz wcześniej obliczyć czas trwania wideo.źródło
ffmpeg -ss 01:23:45 -i video.mp4 -c:v png -frames:v 1 image.jpg
. Zauważ, że umieściłem również-ss
opcję "seek" przed plikiem wejściowym w linii poleceń, tak jak zalecali inni.