Coder Social home page Coder Social logo

xuminic / ezthumb Goto Github PK

View Code? Open in Web Editor NEW
37.0 3.0 5.0 110.02 MB

A video thumbnail generator based on FFMPEG library.

Home Page: https://sourceforge.net/projects/ezthumb/

License: GNU General Public License v3.0

Makefile 0.28% M4 0.12% C 30.42% Shell 0.26% Roff 0.14% NSIS 0.03% HTML 68.26% C++ 0.51%
c ffmpeg iup-gui-library

ezthumb's Introduction

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.


ezthumb's People

Contributors

xuminic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ezthumb's Issues

Unicode filename

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 .....

[solved] -o,--outdir option not working (Windows 7-64)

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.

Doesn't seem to work on Windows 10

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.

Can't compile on Debian 9 Stretch

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.

Thank you very much for the program!

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!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.