2010-02-02 2 views
5

Хорошо, кажется, что всякий раз, когда я говорю ffmpeg, чтобы снять крышку экрана наполовину, хотя клип (клип может быть до 10 часов), он использует 100% ядра 1 процессор и занимает возраст ... тогда как если бы я позволил ему сделать кадр в начале он идет очень быстро, как будто он сканирует, хотя видео доходит до середины, а не просто прыгает на него!Как захватить скриншоты из видеоролика за 50 минут в клипе и сделать это быстро?

Вот код им в настоящее время с помощью:

ffmpeg -y -itsoffset -“500" -i “clipname.mov" -vcodec png -vframes 1 -an -f rawvideo “clipScreenshot001.png” 

Это может занять несколько минут.

Это видео высокой четкости, 720p/1080p и выделение времени, когда они являются необработанными неотредактированными клипами (например, очень длинными).

Так что я надеялся на некоторое лучшее программное обеспечение, которое сделает снимки экрана из видео намного быстрее (должно быть linux и scriptable).

+1

Я нашел это => http://www.fengcool.com/2008/12/ffmpeg- capture-screenshot-from-a-video-file/Это может помочь вам в решении вашей проблемы. – brozo

+2

Возможно, ваше видео не содержит достаточного количества опорных кадров или не индексируется. Захват кадра далеко вперед в потоке всегда потребует полного сканирования и декодирования: интенсивность ИО и вычисление дорогостоящие. Это всегда занимает очень много времени. Если вы не подготовили его заранее, вам нужно обработать видео хотя бы один раз. По сути, вы можете (1) перекодировать видео с другим форматом с индексированными ссылочными кадрами (например, .avi mpeg), вы можете более поздно захватывать экран в желаемых местах намного быстрее. Или, (2) вы можете записывать, скажем один раз в секунду, и сохранять все захваченные экраны. –

ответ

7

Попробуйте использовать искать (в -ss флаг) вместо задержки (в -itsoffset), то есть:

ffmpeg -y -ss 3000 -i "clipname.mov" -vframes 1 "clipScreenshot001.png" 
+1

Да, я думал, что попробовал это, не думаю. Теперь он делает снимок экрана за секунду, который займет около 5 минут раньше, СПАСИБО! Честно говоря, я не думал, что кто-то может понять этот вопрос, но Im один счастливый парень теперь, когда он (и мой процессор тоже вам спасибо :)) – Mint

+0

Прохладный! Вы и ваш процессор приветствуются: p –

+0

Отлично, я использовал -itsoffset, но -ss работает намного быстрее – MondKin