Найти Framenumber во время в видео - PullRequest
0 голосов
/ 06 июля 2011

Я делаю небольшую программу, которая позволяет мне легко разделять видео по заданным временным кодам (т.е. мин. С: с), и я использую Virtual Dub для всей обработки видео. VDub может делать то, что я хочу, но вместо временного кода он использует номер фрагмента, поэтому я спрашиваю, знает ли кто-нибудь, как выполнить преобразование для этого. (Видео может не обязательно иметь фиксированную частоту кадров, и я не уверен, как найти частоту кадров в любом случае) Видео будет в формате AVI. Я бы предпочел, чтобы любой код был на C #, но я все равно могу перевести его.

СПАСИБО Очень много!

YoshieMaster

1 Ответ

1 голос
/ 06 июля 2011

Вот как вы можете извлечь кадр за определенную временную метку, используя ffmpeg.

ffmpeg -i n.wmv -ss 00:00:20 -t 00:00:1 -s 320×240 -r 1 -f singlejpeg myframe.jpg

-i input file name
-ss set the start time offset
-t set the recording time
-s set frame size (WxH or abbreviation)
-r set frame rate (Hz value, fraction or abbreviation)
-f force format

Чтобы получить частоту кадров, вы также можете использовать ffmpeg, и если она исправлена, не должно возникнуть проблем с вычислением того, какой кадр отображается на определенной отметке времени.

...