Zrzut ekranu z filmu

Tematy związane z oprogramowaniem, instalacją, konfiguracją
Van Pytel
Beginner
Posty: 166
Rejestracja: 09 maja 2010, 17:05

Zrzut ekranu z filmu

Post autor: Van Pytel »

Jak mogę wykonać zrzut ekranu z filmu za pomocą linii poleceń?

Próbowałem Mplayer ale coś nie wychodzi.

Wykonywałem polecenie:

Kod: Zaznacz cały

 mplayer -vf screenshot Sample.mkv
Potem musiałem nacisnąć "S" i otrzymywałem błąd:

Kod: Zaznacz cały

sMPlayer 1.0rc3-4.4.4 (C) 2000-2009 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing Sample.mkv.
[mkv] Track ID 1: video (V_MPEG4/ISO/AVC), -vid 0
[mkv] Track ID 2: audio (A_DTS), -aid 0, -alang eng
[mkv] Track ID 3: subtitles (S_TEXT/UTF8), -sid 0, -slang eng
[mkv] Track ID 4: subtitles (S_TEXT/UTF8), -sid 1, -slang pl


[mkv] Will play video track 1.
Matroska file format detected.
VIDEO:  [avc1]  1920x816  24bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] Can't open /dev/fb0: No such file or directory.
[VO_3DFX] Unable to open /dev/3dfx.
vo: couldn't open the X11 display ()!
[vdpau] Could not open dynamic library libvdpau.so.1
vo: couldn't open the X11 display ()!
VO XOverlay need a subdriver
[gl] using extended formats. Use -vo gl:nomanyfmts if playback fails.
vo: couldn't open the X11 display ()!
vo: couldn't open the X11 display ()!
vo: couldn't open the X11 display ()!
commandline read: mplayer
commandline read: -vf
commandline read: screenshot
commandline read: Sample.mkv

   ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.2.10 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2001-2008  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
      ----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2010-06-30 18:13)
(*) Direct/Memcpy: Using Generic 64bit memcpy()
(!) Direct/Util: opening '/dev/fb0' and '/dev/fb/0' failed
    --> No such file or directory
(!) DirectFB/FBDev: Error opening framebuffer device!
(!) DirectFB/FBDev: Use 'fbdev' option or set FRAMEBUFFER environment variable.
(!) DirectFB/Core: Could not initialize 'system_core' core!
    --> Initialization error!
[VO_SDL] SDL initialization failed: DirectFBCreate: Initialization error!.
Can't open /dev/fb0: No such file or directory
[fbdev2] Can't open /dev/fb0: No such file or directory
svgalib: Cannot get I/O permissions.
Może jest jakiś inny program, lub inny sposób w mplayerze, którym mogę wykonać zrzut ekranu z filmu za pomocą linii poleceń, robionego co jakiś czas. Nie chcę takiego jak robi Media Player Clasic (kilka małych zdjęć w jednym pliku).

Dziękuję za odpowiedź.
Awatar użytkownika
ilin
Senior Member
Posty: 2292
Rejestracja: 26 sierpnia 2007, 11:54
Lokalizacja: PRLu

Post autor: ilin »

Na jakie wyjście video masz ustawionego mplayera ?
Na xv powinno działać.
Van Pytel
Beginner
Posty: 166
Rejestracja: 09 maja 2010, 17:05

Post autor: Van Pytel »

Szczerze mówiąc nie wiem o co Ci chodzi?
Ja chcę to zrobić na serwerze.
Awatar użytkownika
ilin
Senior Member
Posty: 2292
Rejestracja: 26 sierpnia 2007, 11:54
Lokalizacja: PRLu

Post autor: ilin »

Bez xów na serwerze to chyba zrzutu ekranu mplayerem nie zrobisz.

Ale jakby dobrze pomyśleć to pewnie da się jakiś skrypt dla mencodera napisać aby co jakiś czas nagrywał jedną klatkę.
Pies
Beginner
Posty: 127
Rejestracja: 22 sierpnia 2008, 21:17

Post autor: Pies »

A mplayer -vo jpeg albo png?
Van Pytel
Beginner
Posty: 166
Rejestracja: 09 maja 2010, 17:05

Post autor: Van Pytel »

Właśnie nie działa. Znalazłem opcję, która robi zrzuty ekranu, ale robi każdą klatkę od początku filmu. A ja chciałbym coś takiego zrobić przesunąć film do przodu (np. o 30 minut) zrobić zrzut, znów przesunąć film o ileś tam minut i zrzut i zakończyć działanie. Nie musi to być mplayer obojętnie jakiś program, który to mi wykona.

ilin mam X11 (oraz środowisko graficzne xfire), jeżeli o to Ci chudziło.

Ale chcę to zrobić z poziomu konsoli.

Dodane:
Rozwiązałem problem. Wystarczy ffmpeg i wykonanie polecenia:

Kod: Zaznacz cały

ffmpeg -ss 00:10:20 -t 1 -s 400x300 -i  -f mjpeg   
ż:
http://code.coneybeare.net/how-to-gener ... ing-ffmpeg
ODPOWIEDZ