Using FFMPEG to Extract a Thumbnail from a Video
You can use the open source ffmpeg program to extract a frame to use as a thumbnail for a video. I use this for zenphoto whereby I name the jpg file as the same name as the flv video to show a thumbnail on line. The example below shows:
- -i = Inputfile name
- -vframes 1 = Output one frame
- -an = Disable audio
- -s 400x222 = Output size
- -ss 30 = Grab the frame from 30 seconds into the video
Below is an exmple:
[tethys]:/home/rnejdl> ffmpeg -i InputFile.FLV -vframes 1 -an -s 400x222 -ss 30 OutputFile.jpg FFmpeg version SVN-r22900-snapshot, Copyright (c) 2000-2010 the FFmpeg developers built on Jul 22 2010 15:02:20 with gcc 4.2.1 20070719 [FreeBSD] configuration: --prefix=/usr/local --mandir=/usr/local/man --enable-shared --enable-gpl --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-x11grab --enable-memalign-hack --cc=cc --extra-cflags=-msse -I/usr/local/include/vorbis -I/usr/local/include --extra-ldflags=-L/usr/local/lib --extra-libs=-pthread --disable-debug --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libdirac --disable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --disable-libopenjpeg --enable-libschroedinger --disable-ffplay --disable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid libavutil 50.14. 0 / 50.14. 0 libavcodec 52.66. 0 / 52.66. 0 libavformat 52.61. 0 / 52.61. 0 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19. 0 / 1.19. 0 libswscale 0.10. 0 / 0.10. 0 libpostproc 51. 2. 0 / 51. 2. 0 [flv @ 0x804a22010]Estimating duration from bitrate, this may be inaccurate Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 24.00 (24/1) Input #0, flv, from 'InputFile.FLV': Metadata: duration : 306 starttime : 0 totalduration : 306 width : 400 height : 222 videodatarate : 255 audiodatarate : 59 totaldatarate : 321 framerate : 24 bytelength : 12292947 canseekontime : true sourcedata : B4A7DD2A1MM1279557135136941 purl : pmsg : Duration: 00:05:06.12, start: 0.000000, bitrate: 268 kb/s Stream #0.0: Video: flv, yuv420p, 400x222, 260 kb/s, 24 tbr, 1k tbn, 1k tbc Stream #0.1: Audio: mp3, 22050 Hz, 2 channels, s16, 8 kb/s Output #0, image2, to 'OutputFile.jpg': Metadata: encoder : Lavf52.61.0 Stream #0.0: Video: mjpeg, yuvj420p, 400x222, q=2-31, 200 kb/s, 90k tbn, 24 tbc Stream mapping: Stream #0.0 -> #0.0 Press [q] to stop encoding frame= 1 fps= 0 q=4.8 Lsize= -0kB time=0.04 bitrate= -4.2kbits/s video:10kB audio:0kB global headers:0kB muxing overhead -100.208808% [tethys]:/home/rnejdl>