2010-02-02 7 views
5

OK, wydaje mi się, że za każdym razem, gdy mówię ffmpegowi, aby w połowie ekranu zrobił kreskę ekranu (klip może trwać nawet 10 godzin), używa on 100% 1 rdzenia procesora i trwa wieki ... podczas gdy ja pozwalam na zrobienie klatki na początku robi się to naprawdę szybko, jakby skanował wideo, by dostać się do środka, zamiast po prostu skakać do niego!Jak zrobić zrzut ekranu z klipu wideo 50 minut w klipie i zrobić to szybko?

Oto im kod aktualnie przy użyciu:

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

To może potrwać kilka minut.

Są to również filmy HD, 720p/1080p i wiele czasu, w którym są one nieprzetworzonymi klipami (na przykład bardzo długo).

Tak więc liczyłem na lepsze oprogramowanie, które znacznie przyspieszy przechwytywanie ekranu z wideo (musi być linux i scriptable).

+1

Znalazłem => http://www.fengcool.com/2008/12/ffmpeg- screenshot-screenshot-from-a-video-file/Może to pomóc w rozwiązaniu problemu. – brozo

+2

Prawdopodobnie Twój film nie zawiera wystarczającej liczby ramek referencyjnych lub nie jest indeksowany. Przechwytywanie klatki daleko do przodu w strumieniu zawsze wymaga pełnego skanowania i dekodowania: intensywność IO i kosztowne obliczenia. To zawsze trwa bardzo długo. Jeśli nie przygotujesz go wcześniej, musisz przetworzyć wideo co najmniej raz. Zasadniczo możesz albo (1) ponownie kodować wideo w innym formacie z indeksowanymi ramkami odniesienia (na przykład .avi mpeg), aby później szybciej przechwytywać ekran w żądanych miejscach. Lub (2) możesz przechwycić, powiedzmy raz na sekundę i zachować wszystkie przechwycone ekrany. –

Odpowiedz

7

spróbuje użyć seek (flagę -ss) zamiast opóźniania (z -itsoffset), tj:

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

huh, myślałem, że próbowałem, nie zgaduj. Teraz zrobi zrzut ekranu w ciągu sekundy, co zajmie około 5 minut, DZIĘKUJĘ! Szczerze mówiąc, nie sądziłem, że ktokolwiek mógłby wymyślić to pytanie, ale jestem jednym szczęśliwym facetem, który jest teraz (i moim CPU też ci dziękuje :)) – Mint

+0

Cool! Ty i twój procesor jesteście mile widziani: p –

+0

Doskonale, korzystałem z -soffset, ale -ss działa o wiele szybciej – MondKin