Le code source du fichier all_cut_film_bug_320x240.vcf
. Ce fichier définit l’ensemble des proprités des futurs vidéos : taille 320×240, logo bug ou bug antenne sans alpha situé en haut à droite… etc. Ce fichier est appelé dans notre script le script code_all_cut_execute_code_320x240.bat
à la ligne set vcf_file_1="C:2_movie_sourceall_cut_film_bug_320x240.vcf"
.
Pour l’insertion de ce logo, c’est un filtre VirtualDub
qui ajoute VirtualDub.video.filters.instance[1].Config("C:2_movie_sourcewatermarksmon_logo.jpg", -30, 16, 0, 0, 2, 0, 65536);
notamment un logo nommé mon_logo.jpg
en plus de redimensionner la vidéo au format 320×240.
NB : L’adresse vers le logo qui “watermark” les vidéos est donné comme souvent sous Windows, truffé de antislash, couplé avec un antislash pour éviter le pire.
VirtualDub.audio.SetSource(1); VirtualDub.audio.SetMode(1); VirtualDub.audio.SetInterleave(1,500,1,0,0); VirtualDub.audio.SetClipMode(1,1); VirtualDub.audio.SetConversion(0,0,0,0,0); VirtualDub.audio.SetVolume(); VirtualDub.audio.SetCompressionWithHint(85,22050,1,0,4000,1,12,"AQACAAAAaAABAHEF","MPEG Layer-3 Codec "); VirtualDub.audio.EnableFilterGraph(0); VirtualDub.video.SetInputFormat(0); VirtualDub.video.SetOutputFormat(7); VirtualDub.video.SetMode(3); VirtualDub.video.SetFrameRate(0,1); VirtualDub.video.SetIVTC(0,0,-1,0); VirtualDub.video.SetRange(0,0); VirtualDub.video.SetCompression(0x31367076,0,10000,0); VirtualDub.video.SetCompData(2056,"VlA2MQEAAADABgAAAAAAAAAAAAAsAQAAOAAAAAAAAAABAAAAaAEAAAAAAAABAAAAUAAAAAQAAABoAQAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAZ/P//BAAAAAAAAAAAAAAABAAAAAUAAAAUAAAAIwAAAC0AAAAeAAAAAAAAAAAAAAAAAAAAGfz//wQAAABaAAAAZAAAAAYAAAAZ/P//RgAAAJABAAAoAAAAGfz//wEAAAAAAAAAAAAAAAAAAABmaXJzdHBhc3MuZnBmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQzpcV0lORE9XU1xzeXN0ZW0zMlxDMk1QXFZQNiBWRlcgQ29kZWMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="); VirtualDub.video.filters.Clear(); VirtualDub.video.filters.Add("resize"); VirtualDub.video.filters.instance[0].Config(320,240,0); VirtualDub.video.filters.Add("logo"); VirtualDub.video.filters.instance[1].Config("C:2_movie_sourcewatermarksmon_logo.jpg", -30, 16, 0, 0, 2, 0, 65536); VirtualDub.audio.filters.Clear(); VirtualDub.subset.Clear(); VirtualDub.subset.AddRange(0,3910); VirtualDub.project.ClearTextInfo(); |
.bat
qui inclut le .vcf
Le code source du fichier code_all_cut_execute_code_320x240.bat
, les fichiers que l’on donne à “manger” à virtualdub
sont au format MPEG1, rien ne vous empêche si vous télécharger le virtualdub
lisant le format MPEG2 de balancer du MPEG2.
@echo off :: FUNCTIONS set dd=%date:~0,2% set mm=%date:~3,2% set yyyy=%date:~6,4% set hour=%time:~0,2% set min=%time:~3,2% set sec=%time:~6,2% set mmsec=%time:~9,2% ::::::::::::::::::::::::::::::::::::::::::::: :: code_all_cut_execute_code_320x240.bat :: :: :: :: convert and watermark with virtualdub :: :: Made by hecube.net :: :: === Use virtualdub application === :: :: (c) Hecube.net :: ::::::::::::::::::::::::::::::::::::::::::::: :: copyright echo === BUGS THE VIDEOS === echo === Made by hecube (c) %yyyy% === echo === version 1.0 : %yyyy% : hecube.net === echo. :: copyright :: FUNCTIONS title bug the videos Color 0A :: VALUES :: ------------------ HERE DEFINE THE CORRECT PATH TO THE DIRECTORY OF VIDEO OUTPUT set vcf_file_1="C:2_movie_sourceall_cut_film_bug_320x240.vcf" set my_path_input=C:2_movie_sourcesource_mpeg_1 set my_path_output=C:2_movie_sourcedestination :: PATH FOR FILES cd %my_path_input% :: FILENAME echo. echo = bug the videos = echo. :: ask for the filename :op_input echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º º echo º BUG, 320X240 º echo º º echo º º echo º º echo º º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. set /P filename_extract="Do you want to BUG, 320X240 (y/n)? " :: ############################################################# // PUT YOUR CODE HERE rem VirtualDub /s "C:2_movie_sourcecut_film_03_good_vp6_advanced_profile_alpha_30_bug.vcf" /b "C:2_movie_sourcesource_mpeg_1","C:2_movie_sourcedestination" /r /x /c :: TREATMENT for files - 320x240 and bug FOR %%G IN (*.avi *.mpg *.mpeg *.mov) DO ( VirtualDub /s "%vcf_file_1%" /p "%%G","%my_path_output%%%~nG_bug_320x240.avi" /r /x /c echo %%G bugged to %%~nG_bug_320x240.avi ) goto rend :: ############################################################# // PUT YOUR CODE HERE :: LEAVE VirtualDub :rend echo. echo === CONGRATULATIONS - YOU MADE ALL === :end ECHO. ECHO = End of conversion = ECHO = Push the space bar to exit = pause>nul |
On peut au lieu d’utiliser le pauvre mais efficace .bat
situé au dessus, faire appel à un logiciel avec une vraie interface VirtualDub DubMan-0.83
. Il permet de lancer une liste de dubman:jobs
qui sont autant de traitement à effectuer par VirtualDub
. Ce logiciel a été développé en java. Pour lancer VirtualDub DubMan
, il faut cliquer DubMan.jar
qui vient avec l’installation du logiciel.
all_resize_divX_audio_video_320x240_bug.djt
<?xml version="1.0" encoding="ISO-8859-1"?> <dubman:template xmlns:dubman="http://dubman.sourceforge.net" name="" format="1.1" version="0.83"> <dubman:bulk /> <dubman:jobs> <!-- Les fichiers source sont au format MPEG1 --> <dubman:job> <dubman:name value="movie_01" /> <dubman:input value="C:2_movie_sourcesource_mpeg_1movie_01.mpg" /> <dubman:output value="C:2_movie_sourcedestinationmovie_01_bug.avi" /> <dubman:deleteInput value="false" /> <dubman:script> VirtualDub.audio.SetSource(1); VirtualDub.audio.SetMode(1); VirtualDub.audio.SetInterleave(1,500,1,0,0); VirtualDub.audio.SetClipMode(1,1); VirtualDub.audio.SetConversion(0,0,0,0,0); VirtualDub.audio.SetVolume(); VirtualDub.audio.SetCompression(); VirtualDub.audio.EnableFilterGraph(0); VirtualDub.video.SetInputFormat(0); VirtualDub.video.SetOutputFormat(7); VirtualDub.video.SetMode(3); VirtualDub.video.SetFrameRate(0,1); VirtualDub.video.SetIVTC(0,0,-1,0); VirtualDub.video.SetCompression(0x78766964,0,10000,0); VirtualDub.video.SetCompData(150,"LWJ2MSA2MDAwMDAgLXZidiA2MDAwMDAsNjU1MzYwLDQ5MTUyMCAtZGlyICJDOlxEb2N1bWVudHMgYW5kIFNldHRpbmdzXE5FQkZsYXZlblxBcHBsaWNhdGlvbiBEYXRhXERpdlhcRGl2WCBDb2RlYyIgLWIgMCAtbmYgLXByb2ZpbGU9MiAtdGhyZWFkX2RlbGF5PTEA"); VirtualDub.video.filters.Clear(); VirtualDub.video.filters.Add("resize"); VirtualDub.video.filters.instance[0].Config(320,240,0); VirtualDub.video.filters.Add("logo"); VirtualDub.video.filters.instance[1].Config("C:2_movie_sourcewatermarksmon_logo.jpg", -30, 16, 0, 0, 2, 0, 65536); VirtualDub.audio.filters.Clear(); </dubman:script> <dubman:runWith value="0" /> </dubman:job> <dubman:job> <dubman:name value="movie_02" /> <dubman:input value="C:2_movie_sourcesource_mpeg_1movie_02.mpg" /> <dubman:output value="C:2_movie_sourcedestinationmovie_02_bug.avi" /> <dubman:deleteInput value="false" /> <dubman:script> VirtualDub.audio.SetSource(1); VirtualDub.audio.SetMode(1); VirtualDub.audio.SetInterleave(1,500,1,0,0); VirtualDub.audio.SetClipMode(1,1); VirtualDub.audio.SetConversion(0,0,0,0,0); VirtualDub.audio.SetVolume(); VirtualDub.audio.SetCompression(); VirtualDub.audio.EnableFilterGraph(0); VirtualDub.video.SetInputFormat(0); VirtualDub.video.SetOutputFormat(7); VirtualDub.video.SetMode(3); VirtualDub.video.SetFrameRate(0,1); VirtualDub.video.SetIVTC(0,0,-1,0); VirtualDub.video.SetCompression(0x78766964,0,10000,0); VirtualDub.video.SetCompData(150,"LWJ2MSA2MDAwMDAgLXZidiA2MDAwMDAsNjU1MzYwLDQ5MTUyMCAtZGlyICJDOlxEb2N1bWVudHMgYW5kIFNldHRpbmdzXE5FQkZsYXZlblxBcHBsaWNhdGlvbiBEYXRhXERpdlhcRGl2WCBDb2RlYyIgLWIgMCAtbmYgLXByb2ZpbGU9MiAtdGhyZWFkX2RlbGF5PTEA"); VirtualDub.video.filters.Clear(); VirtualDub.video.filters.Add("resize"); VirtualDub.video.filters.instance[0].Config(320,240,0); VirtualDub.video.filters.Add("logo"); VirtualDub.video.filters.instance[1].Config("C:2_movie_sourcewatermarksmon_logo.jpg", -30, 16, 0, 0, 2, 0, 65536); VirtualDub.audio.filters.Clear(); </dubman:script> <dubman:runWith value="0" /> </dubman:job> <dubman:job> <dubman:name value="movie_03" /> <dubman:input value="C:2_movie_sourcesource_mpeg_1movie_03.mpg" /> <dubman:output value="C:2_movie_sourcedestinationmovie_03_bug.avi" /> <dubman:deleteInput value="false" /> <dubman:script> VirtualDub.audio.SetSource(1); VirtualDub.audio.SetMode(1); VirtualDub.audio.SetInterleave(1,500,1,0,0); VirtualDub.audio.SetClipMode(1,1); VirtualDub.audio.SetConversion(0,0,0,0,0); VirtualDub.audio.SetVolume(); VirtualDub.audio.SetCompression(); VirtualDub.audio.EnableFilterGraph(0); VirtualDub.video.SetInputFormat(0); VirtualDub.video.SetOutputFormat(7); VirtualDub.video.SetMode(3); VirtualDub.video.SetFrameRate(0,1); VirtualDub.video.SetIVTC(0,0,-1,0); VirtualDub.video.SetCompression(0x78766964,0,10000,0); VirtualDub.video.SetCompData(150,"LWJ2MSA2MDAwMDAgLXZidiA2MDAwMDAsNjU1MzYwLDQ5MTUyMCAtZGlyICJDOlxEb2N1bWVudHMgYW5kIFNldHRpbmdzXE5FQkZsYXZlblxBcHBsaWNhdGlvbiBEYXRhXERpdlhcRGl2WCBDb2RlYyIgLWIgMCAtbmYgLXByb2ZpbGU9MiAtdGhyZWFkX2RlbGF5PTEA"); VirtualDub.video.filters.Clear(); VirtualDub.video.filters.Add("resize"); VirtualDub.video.filters.instance[0].Config(320,240,0); VirtualDub.video.filters.Add("logo"); VirtualDub.video.filters.instance[1].Config("C:2_movie_sourcewatermarksmon_logo.jpg", -30, 16, 0, 0, 2, 0, 65536); VirtualDub.audio.filters.Clear(); </dubman:script> <dubman:runWith value="0" /> </dubman:job> <!-- to be continued --> <!-- pour dupliquer le job faire un copier-coller de <dubman:job>...</dubman:job> inclus --> </dubman:jobs> </dubman:template> |
Pour insérer le fichier all_resize_divX_audio_video_320x240_bug.djt
, il suffit de le sélectionner le fichier via File > Open
.
Une fois le fichier all_resize_divX_audio_video_320x240_bug.djt
chargé, il faut cliquer sur le bouton Run Jobs File