Highlights
1. Drag and drop files/folder, it searches for movie clips inside them and creates thumbnails.
2. also zip those thumbnails for easy bulkupload to your favorite imagehost.
Software Screenshots:
Automatic Zipping of screenshots
Download (2 MB)
http://www.autohotkey.net/~Ekarth/Ekart ... %20Tool.7z
Detailed Description:
Everytime you want to create thumbnails for your movies, its all point and click this and that so much time wasted.
Especially those mega uploaders on who upload like 10-50 or more movies per week! So for them, I've create this solution.
Just select multiple files/folders and drag and drop them in my program and it'll automatically create thumnails: be it 10 movies, 100 movies no problem. whether its in a same folder or in the 10th level subfolder of a folder no problem, it'll search all media files and create thumbnails for it! Even if some of those subfolders have non-media files; don't worry, my program will skip them and work flawlessly.
And yes if you want
Thumbnails can be created and saved in a ZIP file! hence you can directly zip-upload it to picswan/ imagebam or whatever your favorite imagehost site it!
consider the time, keyboard strokes and mouseclicks saved! just drag and drop.
Supported video formats:-
.3gp,.3g2,.asf,.avi,.dat,.divx,.dsm,.evo,.flv,.m1v,.m2ts,.m2v,.m4a,.mj2,.mjpg,.mjpeg,.mkv,.mov,.moov,.mp4,.mpg,.mpeg,.mpv,.nut,.ogg,.ogm,.qt,.swf,.ts,.vob,.wmv,.xvid
Principle
it uses MTN thumbnailer which is a commandline thumbnail creator software. I've provided a 'User friendly' GUI support to it via Autohotkey script.
for zipping the screenshot/thumbnails, I've given built-in commandline version of 7zip. don't worry you don't have to remember or type any commands any where. all you've to do is drag and drop single time!
Options
you can set the Movie screenshot's number of
Rows
Height
Columns
jpeg quality
and more...
I'm especially thankful to
#1
Mr.Tuit for creating the movie thumbnailer (mtn)
http://moviethumbnail.sourceforge.net/
my software only provides GUI to his software
mtn is developed by tuit (tuitfun); though most of its magic is actually done
by FFmpeg libraries. For documents, please see in the doc directory and at
http://sourceforge.net/forum/?group_id=201133 .
#2
Igor Pavlov
for 7-zip
~~~~~~~~~~~
Troubleshoot:Thumbnails not created
Reason:1- may be the required video codecs are not installed in your system. This software basically works on FFmpeg libraries.so you need to download and install a codec package like Vistacodec or K-Lite Megacodec to fix the problem. both are free.
Reason:2- may be your video file or output folder has UNICODE names like chinese,arabic etc. Be sure that all file and folder names are English only.
any other glitch, Post it on forum.
script (tho won't work alone, needs MTN.exe)
Code:
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#NoTrayIcon
Gui +E0x10 +AlwaysOnTop
Gui, Font, S12 CDefault,
Gui, Add, GroupBox, x6 y5 w580 h110 , Drag and drop your files and/or Folders on me to immediatly create thumbnails
Gui, Add, Edit, x16 y35 w560 h70 vmediafiles, Drop files and or folders here
Gui, Add, Text, x16 y135 w100 h30 , Columns
Gui, Add, Edit, x116 y135 w50 h30 vcolumns number, 3
Gui, Add, Text, x16 y165 w100 h30 , Rows
Gui, Add, Edit, x116 y165 w50 h30 vrows number, 4
Gui, Add, Text, x16 y195 w100 h30 , Quality
Gui, Add, Edit, x116 y195 w50 h30 vquality number, 80
Gui, Add, Text, x16 y225 w100 h30 , Width (px)
Gui, Add, ComboBox, x116 y225 w90 h28 vwidth R4,600|800|1024||1280|1600
Gui, Add, Text, x216 y135 w210 h30 , Height of Each Cap
Gui, Add, Edit, x426 y135 w100 h30 vheight number, 100
Gui, Add, Text, x216 y165 w210 h30 , Display info text
Gui, Add, DropDownList, x426 y165 w140 h28 vinfoloc AltSubmit R4,Lower left|Lower right|Upper right|Upper Left||
Gui, Add, Text, x216 y195 w210 h30 , Display Time-Lable
Gui, Add, DropDownList, x426 y195 w140 h28 vtimeloc AltSubmit R4,Lower left|Lower right||Upper right|Upper Left
Gui, Add, CheckBox, x216 y225 w350 h30 vifindividual, Also save individual shots
Gui, Add, CheckBox, x216 y255 w350 h30 vifcodec, Also append codec-info text file
Gui, Add, Edit, x26 y365 w450 h30 voutputfolder, %A_WorkingDir%\Output
Gui, Font, S12 CPurple,
Gui, Add, GroupBox, x6 y105 w570 h180 , Settings for Thumbnail Creation
Gui, Add, Button, x476 y365 w100 h30 , Browse
Gui, Font, S12 CMaroon,
Gui, Add, CheckBox, x26 y305 w450 h30 va Checked, Create thumbnails in each Folder containing movie files
Gui, Add, CheckBox, x26 y335 w450 h30 vb Checked, Copy Screenshots/thumbnails in Following Output Folder
Gui, Add, CheckBox, x26 y395 w550 h30 vc , Create zip file of screenshot/thumbnail for quick upload to imagehost
Gui, Show, w594 h443,Ekarth's Bulk movie thumbnail creator
Return
GuiClose:
FileDelete,%A_workingdir%\foundfiles.txt
FileDelete,%A_workingdir%\mtn\listfile.txt
ExitApp
buttonbrowse:
FileSelectFolder,output,::{20d04fe0-3aea-1069-a2d8-08002b30309d},3,Select the folder where you want to save the thumbnails
ControlSetText,edit7,%output%
return
GuiDropFiles:
; First scan the subfolders for media files!
FileDelete,%A_workingdir%\foundfiles.txt
FileDelete,%A_workingdir%\mtn\listfile.txt
ext=.3gp,.3g2,.asf,.avi,.dat,.divx,.dsm,.evo,.flv,.m1v,.m2ts,.m2v,.m4a,.mj2,.mjpg,.mjpeg,.mkv,.mov,.moov,.mp4,.mpg,.mpeg,.mpv,.nut,.ogg,.ogm,.qt,.swf,.ts,.vob,.wmv,.xvid
; first find files inside folder
Loop, parse, A_GuiEvent, `n
{
FirstFile = %A_LoopField%
Loop, Parse,ext,`,
{
Loop,%firstfile%\*%A_LoopField%,1,1
{
FileAppend,%A_LoopFileFullPath%`n,%A_workingdir%\foundfiles.txt
}
}
}
; ~~~~~~~~ SEARCHING SUBFOLDERS IS OVER~~~~~~~~~~~~~
gosub,finddirectfiles
return
; ~~~~~~~~ NOW CONSIDERING DIRECTLY DROPPED MEDIA FILES~~~~~~~~~~~~~
finddirectfiles:
Loop, parse,A_GuiEvent,`n
{
FoundPos :=RegExMatch(A_loopfield,"3gp$|3g2$|asf$|avi$|dat$|divx$|dsm$|evo$|.flv$|m1v$|m2ts$|m2v$|m4a$|mj2$|mjpg$|mjpeg$|mkv$|mov$|moov$|mp4$|mpg$|mpeg$|mpv$|nut$|ogg$|ogm$|qt$|swf$|ts$|vob$|wmv$|xvid$")
IfNotEqual,%FoundPos%,0
{
FileAppend,%A_Loopfield%`n,%A_Workingdir%\foundfiles.txt
}
}
fileread, foundfiles,%A_workingdir%\foundfiles.txt
sort foundfiles,U
ControlSetText,edit1,%foundfiles%
gosub,gather_settings_info_before_creating_thumbnail
return
gather_settings_info_before_creating_thumbnail:
gui,submit,NoHide
param= -P -c %columns% -r %rows% -w %width% -h %height% -j %quality% -L %infoloc%:%timeloc%
IfEqual,ifindividual,1
{
param=%param% -I
}
IfEqual,ifcodec,1
{
param=%param% -N codec_info.txt
}
Gosub,check_what_to_do
return
check_what_to_do:
formattime,today,,shortdate
newtoday:=RegExReplace(today,"\:|\,| |-","-")
random,newrand,0,9999
zipped_file=%outputfolder%\upload_screens_%newtoday%%newrand%.zip
Gui,submit,nohide
ab:=a+b
bc:=b+c
ac:=a+c
abc:=a+b+c
Ifequal,abc,0
{
msgbox,16,Error,Are you smoking weed or what?`nSelect atleast one option damnit!
}
IfEqual,abc,3
{
Gosub,abc
}
IfEqual,abc,2
{
gosub,anytwo
}
IfEqual,abc,1
{
Gosub,anyone
}
return
anytwo:
IfEqual,ab,2
{
Gosub,ab
}
IfEqual,ac,2
{
Gosub,ac
}
IfEqual,bc,2
{
Gosub,bc
}
return
anyone:
IfEqual,a,1
{
Gosub,onlya
}
IfEqual,b,1
{
Gosub,onlyb
}
IfEqual,c,1
{
Gosub,onlyc
}
return
onlya:
loop, parse, mediafiles,`n
{
RunWait, %A_workingdir%\MTN\mtn.exe %param% "%A_LoopField%"
}
return
onlyb:
loop, parse, mediafiles,`n
{
RunWait, %A_workingdir%\MTN\mtn.exe %param% -O "%outputfolder%" "%A_LoopField%"
}
Run,%outputfolder%
return
onlyc:
loop, parse, mediafiles,`n
{
RunWait, %A_workingdir%\MTN\mtn.exe %param% -O "%outputfolder%" "%A_LoopField%"
SplitPath,A_LoopField,,movie_directory,,thumbfilelocation
copy_this=%outputfolder%\%thumbfilelocation%_s.jpg
FileAppend,%copy_this%`n,%A_workingdir%\mtn\listfile.txt
}
Runwait, %A_workingdir%\MTN\7za.exe a -tzip "%zipped_file%" @"%A_workingdir%\MTN\listfile.txt"
sleep,1000
/*
Loop,read,%A_WorkingDir%\mtn\listfile.txt
{
FileDelete,%A_LoopReadLine%
}
*/
Run,%zipped_file%
return
ab:
loop, parse, mediafiles,`n
{
RunWait, %A_workingdir%\MTN\mtn.exe %param% "%A_LoopField%"
SplitPath,A_LoopField,,movie_directory,,thumbfilelocation
FileCopy,%movie_directory%\%thumbfilelocation%_s.jpg,%outputfolder%\*.*,1
}
Run,%outputfolder%
return
bc:
loop, parse, mediafiles,`n
{
RunWait, %A_workingdir%\MTN\mtn.exe %param% -O "%outputfolder%" "%A_LoopField%"
SplitPath,A_LoopField,,movie_directory,,thumbfilelocation
copy_this=%outputfolder%\%thumbfilelocation%_s.jpg
FileAppend,%copy_this%`n,%A_workingdir%\mtn\listfile.txt
}
Gosub,czip
return
ac:
loop, parse, mediafiles,`n
{
RunWait, %A_workingdir%\MTN\mtn.exe %param% "%A_LoopField%"
SplitPath,A_LoopField,,movie_directory,,thumbfilelocation
copy_this=%movie_directory%\%thumbfilelocation%_s.jpg
FileAppend,%copy_this%`n,%A_workingdir%\mtn\listfile.txt
}
Gosub,czip
return
abc:
loop, parse, mediafiles,`n
{
RunWait, %A_workingdir%\MTN\mtn.exe %param% "%A_LoopField%"
SplitPath,A_LoopField,,movie_directory,,thumbfilelocation
copy_this=%movie_directory%\%thumbfilelocation%_s.jpg
FileAppend,%copy_this%`n,%A_workingdir%\mtn\listfile.txt
FileCopy,%movie_directory%\%thumbfilelocation%_s.jpg,%outputfolder%\*.*,1
}
Gosub,czip
return
czip:
runwait, %A_workingdir%\MTN\7za.exe a -tzip "%zipped_file%" @"%A_workingdir%\MTN\listfile.txt"
Run,%zipped_file%
return
someone creates INI save settings file and button for this,i 'll be grateful because I'm tired coding it.