2010-02-02 18 views
5

Ok es scheint, dass, wenn ich ffmpeg sagen, eine Bildschirmkappe halbwegs zu nehmen, obwohl der Clip (Clip kann so lang sein wie 10 Stunden) verwendet 100% von 1 CPU-Kern und dauert Ewigkeiten ... während, wenn ich es einen Rahmen machen lassen Am Anfang geht es ganz schnell, als ob es das Video durchsucht, um in die Mitte zu kommen, anstatt einfach nur zu springen! HierWie kann man Screenshots von einem Videoclip 50 Minuten in den Clip aufnehmen und schnell machen?

ist der Code im derzeit verwenden:

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

Dies kann einige Minuten dauern.

Dies sind auch HD-Videos, 720p/1080p und zu der Zeit sind sie roh unbearbeitete Clips (z. B. sehr lang).

Also ich hatte gehofft für etwas bessere Software, die Bildschirmaufnahmen von Video viel schneller machen (muss Linux und skriptfähig sein).

+1

fand ich dieses => http://www.fengcool.com/2008/12/ffmpeg- capture-screenshot-from-a-video-Datei/Es könnte Ihnen bei Ihrem Problem helfen. – brozo

+2

Wahrscheinlich enthält Ihr Video nicht genügend Referenzbilder oder ist nicht indiziert. Die Aufnahme eines Frames weit nach vorne in den Stream erfordert immer einen vollständigen Scan und Decodierung: IO intensive und Berechnung teuer. Es dauert immer sehr lange. Sofern Sie es nicht im Voraus vorbereiten, müssen Sie das Video mindestens einmal bearbeiten. Im Wesentlichen können Sie entweder (1) das Video mit einem anderen Format neu codieren, wobei Referenzbilder indiziert werden (zB .avi mpeg), Sie können den Bildschirm später viel schneller an den gewünschten Stellen aufnehmen. Oder (2) Sie können Bilder aufnehmen, sagen Sie eine Sekunde und behalten Sie alle aufgenommenen Bilder. –

Antwort

7

Try suchen zu verwenden (die -ss Flag) statt (die -itsoffset) der Verzögerung, das heißt:

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

huh, ich dachte ich hätte das probiert, denke nicht. Es macht jetzt einen Screenshot in weniger als einer Sekunde, der ca. 5 Minuten dauern würde, DANKE! Um ehrlich zu sein, ich dachte nicht, dass jemand diese Frage herausfinden würde, aber ich bin ein glücklicher Kerl jetzt, dass es ist (und meine CPU dankt Ihnen auch :)) – Mint

+0

Cool! Sie und Ihre CPU sind willkommen: p –

+0

Ausgezeichnet, ich habe -itsoffset verwendet, aber -ss arbeitet viel schneller – MondKin