xuminic / ezthumb Goto Github PK
View Code? Open in Web Editor NEWA video thumbnail generator based on FFMPEG library.
Home Page: https://sourceforge.net/projects/ezthumb/
License: GNU General Public License v3.0
A video thumbnail generator based on FFMPEG library.
Home Page: https://sourceforge.net/projects/ezthumb/
License: GNU General Public License v3.0
What is it ========== Ezthumb is used to create thumbnails for video files. It uses the FFMPEG library as its engine so it almost supports any video formats. Features ======== *) Supports almost any video formats: 3gp,3g2,asf,asx,avi,avs,divx,flv,f4v,f4p,f4a,f4b,m1v,m2v,m4p,m4v,mjpg,mkv, mov,movie,mp2,mp4,mpa,mpe,mpeg,mpg,mpv,mv,ogv,ogg,qt,rm,rmvb,rv,ts,viv, vivo,vob,webm,wmv,yuv *) Ouput JPG, PNG or GIF format. *) Support transparent PNG or GIF. *) Support Animated GIF. *) Support all thumbnails in one canvas, or individual thumbnails. *) Support batch processing in command line. *) Support both command line tool and a lightweight GUI application. *) Cross platform design support Linux/Windows XP/Windows 7 (Win32 API). *) Using IUP portable UI library to gain the native GUI feeling. *) Written in C and FFMPEG, as well as libav, API. Release Notes ============= Version 3.6.7: *) Separated the Win32 build to Windows XP, with 'rogerdpack' FFMPEG build 3.1.2, and Windows 7, with 'Zeranoe' FFMPEG build 3.3.1 and higher. *) Added more video extension names to the video filter. *) Added the --size-unit option to customize the preferred units. *) Fixed the bug which failed to drag & drop files with spaces inside the names (GTK). *) Fixed the shrinking window issue. Version 3.6.6: *) Support new API in FFMPEG 3.x *) Fixed a bug which failed to install EzthumbWin.exe. Version 3.6.5: *) The progress bar dialog will inherit the configuration from the ezthumb GUI dialog. *) Fixed a bug that Chinese characters were failed to pass to the progress bar dialog. *) Workarounded the imcomplete context menu in Windows by associates ezthumb to the OpenWithList. Version 3.6.4: *) Fixed the bug which freeze the progress bar in i-frame dumping mode. *) Fixed the bug in configure file to the correct linking sequence. *) Fixed the bug which failed to hightlight the "RUN" button when media files were loaded from the command line. *) Improved the user input by verifying the content in the text controls. *) Added the support of TrueType fonts in Windows. Note that the libgd uses fontconfig to translate the font faces to the font files. In Windows however there's no fontconfig available so libgd could not find the proper font files. Unfortunately there's also no out-of-box APIs to directly translate the font faces to the font files in Windows. My approach is to enumerate all registered font faces and to compare them with all registered true type fonts. It's still imperfect but around 95% fonts would be matched. Version 3.6.3 quick release: *) Fixed the bug which failed to save the transparent screenshots in GUI. *) Fixed the linking sequence issue between libiup and libX11. *) Added the missing 64x64 icon. Version 3.6.2: The 3.6.1 build was so broken it must be replaced asap. *) The 'deprecated build' supports ffmpeg 3.3. *) Fixed the bug that failed to restore the default value of the Grid Setting as well as the text control detection. *) Fixed the bug that the label control has a different background colour than the dialog background. *) Fixed the bug that the zoom option layout is inconsistent in different distros. *) Fixed the bug which deleting all entries in GTK3. *) Fixed the bug which generating screenshot with wrong attribution if some videoes were removed from the list control. *) Fixed the bug which failed to recover the 'auto' zooming if other zooms were chosen once. *) Fixed the bug which failed to save to png and gif. *) Fixed the bug which failed to save the suffix to the config file. *) Fixed the bug which failed to save to the specified path. Version 3.6.1: *) Building system moved to autoconf/automake. *) Added a progress bar dialog for integrating with file managers. *) Added to the context menu in Windows File Manager. *) Supported libav. *) IUP updated to 3.21 and using the official WIN32 libs distributed by IUP. *) Fixed the uneven vertical size of buttons in GTK3. Version 3.4.1: *) Added factory reset *) IUP updated to 3.10.1 *) Fixed the progress bar overlap status bar issue *) Fixed the utf-8 filename issue in Windows *) Fixed the core dump when verbose level reach 7 *) Fixed the failure of removing registry in Windows. Version 3.4.0: *) Added the about page *) Added the font choice dialog. *) Fixed the adjustment of the window size. *) Fixed many things in UI. Version 3.3.0: *) FFMPEG updated to 2015-03-03 git-5de2dab (H.265 ready) *) Accurate PTS display *) Default duration mode changed to HEAD for ArgusTV. *) FFMPEG version auto-detection make it easier to build. *) UI migrated to IUP. *) Fixed: seperated frame buffer to grab clear image. *) Fixed: configuration stored in registry in Win32. *) Fixed: the AR correction issue. *) Fixed: size incorrect in 32-bit OS when video size over 2GB Version 3.2.0: *) ezthumb migrated to a portable GUI based on IUP. The command line interface is still the same. Version 3.0.4: *) Fixed a bug in Win32 version that ezthumb went to full scan mode while a media player is playing the same file. Version 3.0.3: *) Updated the previous fix to prevent ezthumb drop into scan mode unreasonably. Version 3.0.2: *) Fixed a bug in the improved-quick-scan which sought out of the video range. Version 3.0.1: *) Improved method of quick scan to find the duration of video files *) Fixed a display bug that file size was showed wrong. Version 3.0.0: *) Binding mode can generate one large thumbnail from multiple video sources. *) Support environment variable 'EZTHUMB' as part of command line arguments. *) Improved skim mode fits most of video files. *) Included a test script to help automatic test. *) Included an internal file name filter to help the recursive mode. *) Many bug fixes. Version 2.0.0: *) ezthumb introduced a GUI based on GTK2. The command line interface is still the same. Install ======= Ezthumb includes following releases: ezthumb-X.Y.Z.tar.bz2 - the full release include source codes and pre-compiled Win32 binaries ezthumb-X.Y.Z-src.tar.bz2 - the light release include source codes only ezthumb-X.Y.Z-win7-setup.exe - the installer program for Window 7 and higher ezthumb-X.Y.Z-winxp-setup.exe - the installer program for Window XP and vista Ezthumb requires the following packages in *nix: ffmpeg gd freetype libpng libjpeg bzip2 gtk (in X-window) Most systems have already installed those libraries so normally you only need to install the development files of ffmpeg/gd/gtk. *) CentOS 5/6/7 or similar version Fedora/RHEL $ sudo yum install ffmpeg-devel gd-devel gtk2-devel then $ ./configure $ make *) CentOS 4 or similar version Fedora/RHEL Current version IUP is not compatible with CentOS 4 so Ezthumb has to disable the GUI interface. What's more, ezthumb could not generate GIF animation thumbnails because the old version of libgd. $ sudo yum install ffmpeg-devel gd-devel $ ./configure --with-gui=no $ make *) Windows and MinGW The ezthumb has been shipped with a library bundle in which all necessary libraries are included. You don't need to download anything to build ezthumb. In Windows 7 and higher, just go to the ezthumb directory in MinGW console and type: $ ./configure $ make In Windows XP/Vista, however: $ ./configure --with-winxp $ make it will build two execute files, ezthumb.exe for command line and the GUI frontend EzthumbWin.exe. You will find the execute files and required DLLs under the folder "ezthumb-X.X.X-win7-bin" or "ezthumb-X.X.X-winxp-bin" Note that the FFMPEG has stopped supporting Windows XP. Therefore ezthumb have to release two packages: the Windows XP release will probably stick on the 'rogerdpack' build 3.1.2; the Windows 7 release will keep sync-ing with the recent FFMPEGs. If you have Nullsoft Installer (NSIS) installed, you may use ./release.sh to generate two installer files each for Windows XP and Windows 7. Credits ======= FFmpeg Win32 shared build by Kyle Schwarz from Zeranoe's: http://ffmpeg.zeranoe.com/builds/ You may find source codes of FFMPEG at https://www.ffmpeg.org/ Following Libraries were grabbed from GnuWin: http://sourceforge.net/projects/gnuwin32/files/ freetype-2.6.3 gd-2.0.35 jpeg-6b libpng-1.5.13 zlib-1.2.8 libiconv-1.9.2.1 The icon SMirC-thumbsup.svg is a public domain under GNU Free Documentation License. http://commons.wikimedia.org/wiki/File:SMirC-thumbsup.svg The GUI frontend is based on IUP, a multi-platform toolkit for building graphical user interfaces. http://webserver2.tecgraf.puc-rio.br/iup/ This program was inspired by movie thumbnailer (mtn): http://sourceforge.net/projects/moviethumbnail/ Examples ======== You may use the command as simple as this to test it: ezthumb *.avi It will generate thumbnails for all .avi files by the default profile. Another common usage is including a grid setting and a size setting: ezthumb -g 4x8 -s 33% *.avi It will generate the 4x8 thumbnails for all .avi files in the current directory. Each screen shots inside the thumbnails are 33% of the video frame in width and height. This command can list the useful information of video files: ezthumb -i *.avi Please see the manpage for more examples.
Command
ezthumb *.mp4 -g 5x20 -s 33% -w 2600 -m jpg@85 -d scan -f C:\Windows\Fonts\tahomabd.ttf
Some files have unicode name like this : **新闻网_梳理天下新闻! , it never worked until i changed filename into non-unicode char eg 001.mp4 .....
This project seems to be dead, unfortunately, but I'll ask anyway...
The -o,--outdir should specify a different directory (from input file).
I'm using the ezthumb cli in a batch file (in a FOR loop, specifically).
I've tried everything to make this work: Backslashes added before and after, using quotes and double-quotes, even variable substitution. No success.
Funny fact: ezthumb is working indeed, giving proceeding output, even pretending to save the file in the specified directory, but everytime the file is not there.
The cur used option looks like:
--outdir \new\
Output of ezthumb is:
Name: vbt-bghsd1.mp4
Duration: 3:06:14 (1.76 GB) 1353.028 kbps
Video: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Resolution: 720x394) 29.970 FPS 1226.845 kbps
Audio: AAC (Advanced Audio Coding): und 2-CH 48000Hz 121.573 kbps
522x284x20 Thumbnails Generated by Ezthumb 3.6.7 (23.541 s)
**OUTPUT: \new\vbt-bghsd1_thmbs.jpg**
MAGIC: SB HD M44 C3 M41 C2 U18 U23118 U14 U15 U15 U16 U13 U18 U17 U16 U16 U17
Edit: I've fortunately solved the issue! Tried once again all possible entries and suddenly it worked as expected!
Changes made:
--outdir \new\
to:
-o new\
(I swear I've tried this before...)
The specified dir did already exist, don't know if it would be created otherwise.
I can open the program fine, put in a video file, but nothing happens when i press the "Run" button.
Tried compatibility mode, but still not working sadly.
In the panel the video lenght, size and resolution is displayed incorrectly too. Not sure if it was like that before tho.
i am getting this error, after make can you help resolve this
Sometimes the thumbnails are too dark, would be better if an option exists for correcting gamma or/and brightness.
I've got this error when I try to compile:
gcc -DHAVE_CONFIG_H -DCFG_GUI_OFF -I. -I./external/libcsoup -I./external/iup/include -I/usr/include/ffmpeg -Wall -Wextra -O4 -c -o ezttf.o ezttf.c
ezttf.c:68:22: fatal error: ft2build.h: No such file or directory
#include <ft2build.h>
^
compilation terminated.
ft2build.h is installed and located in /usr/include/freetype2. What I must do?
Thanks for you time.
Hello, quite an interesting program! Thank you very much for her! Thank you so much for distributing it under the GNU GPL version 3 license! We added it to the Russian-language site about free open source software, link.
This is a very interesting project, please don’t abandon it!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.