Extraire les vidéos d’un DVD, Convertir en masse des fichiers vidéo
L’article devrait s’intituler “Que faire des vieux scripts ou bienvenue au cimetière des éléphants”. En effet, on est en droit de se demander que faire de vos scripts en Cobol ou de vos jeux patiemment élaborés en turbo “fenouil” pascal (je ne sais pas si cela peut exister…). Toutefois, dans le vaste monde du web (on devient lyrique), il y a peut-être quelqu’un, quelque part, qui attend le script en MS-DOS avec impatience car en effet, “fenêtres” dit “windows” est plus qu’étendu sur le monde, cela fait donc potentiellement du monde intéressé par les scripts en MS-DOS.
Plus sérieusement, voilà quelques facilités offertes pour faire l’encodage en masse et l’extraction de DVD sur Windows.
Vous pouvez automatiser ces actions d’extraction, de conversion à l’aide de .bat
ou de .exe
pour ffmpeg, mencoder ou même imagemagick. Pour installer un environnement susceptible de permettre ce type d’opérations, je vous invite à découvrir les quelques articles consacrées auxquels nous faisons référence dans cet article.
- Imagemagick sur windows pour le traitement de photos
- Modifier la variable Path sous windows afin d’executer des commandes en MS-DOS
- Installer MEncoder/MPlayer sous windows
- Télécharger les vidéos Youtube, dailymotion pour en extraire le son, des images ou une vidéo
NB : Souvent, l’impossibilité de lire ou de convertir une vidéo vient du fait que vous ne possédez pas le codec correspondant pur la vidéo comme pour le son. Pour d’un seul coup, charger un bon nombre de codecs, un des packs que je vous recommande est à télécharger sur http://www.cole2k.net/
. Il y a 3 types de packs : Advanced, Standard, Silent Install. Je vous conseille le pack Advanced ou Standard.
- DivX 7.0 Pro Video Codec.
- DivX h.264 Video (Decoder) Codec.
- DivX Web Player 1.4.2.7 browser plugin.
- XviD 1.2.1 VAQ Video (Encoder) Codec – Koepi’s 04/12/08 Build
- ffdshow Video Codec 20090320 Revision 2792 by clsid.
- Microsoft – Windows Media 9 Video Codec 9.0.1.369.
- On2 Technologies VP7 Video (Decoder) Codec 7.0.8.
- On2 Technologies VP6 Video Codec 6.4.2.
Source : http://www.cole2k.net/
NDLR : Hadopi, mon ami, qu’as-tu fait de ma vie ? A ce que j’ai compris, déplomber des DVD avec mencoder/ffpmepg peut vous envoyer en prison. Aussi j’aime le risque et veux bien livrer des secrets de polichinelle sur l’encodage pour être sacrifié et dénoncé sur la place publique, avec ou sans le salaire de TF1. Cela me fera toujours un peu de notoriété… Christine Albanel, si tu lis ce “post”, nous sommes dans l’annuaire et je répond aux heures ouvrables, “pick me please” (comme dit l’âne de Shrek) et “make my day” (comme disait Harry Torino) !
Petite index de commandes valables sous MS-DOS
REM
=> désactive la ligne et la place en commentaire::
=> désactive la ligne et la place en commentaireecho.
=> affiche une ligne videPause>nul
=> il n’y a plus de message affiché dans vos .battest_04.bat bruno_le_dir
=> exécute le .bat avec l’argument derrière ici bruno_le_dir.test_06.bat C:0_BATCH_DOS0_testfiles_2
=> exécute le .bat avec l’argument derrière ici le chemin est C:0_BATCH_DOS0_testfiles_2cd C:0_BATCH_DOS0_testfiles_2
=> se rend à l’adresse indiqué c’est à dire C:0_BATCH_DOS0_testfiles_2test_08.bat bruno
=> exécute le .bat avec l’argument derrière ici bruno
Un fichier .bat pour encoder en masse toutes les vidéos disponibles dans un répertoire.
A l’aide de ce code, vous pourrez encoder l’ensemble des vidéos, figurant dans un répertoire. Les fichiers vidéos dont l’extension sera *.avi *.mpg *.mpeg *.mov
code de convert_mp4.bat
@echo off ::::::::::::::::::::::::::::::::::::::::::::: :: :: :: :: :: Encode video in a dir :: :: and output in another dir :: :: work with mencoder :: :: Made by hecube.net :: :: ======================================= :: :: :: :: Visit hemedia.net :: :: :: ::::::::::::::::::::::::::::::::::::::::::::: :: copyright echo === Encode videos in a dir and output in another dir === echo === work with mencoder === echo === Made by hecube (c) 2007 === echo === version 1.0 === echo. :: 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% :: values for configuration :: répertoire source set my_path_1=C:2_movie_sourcesource :: répertoire de destination set my_path_2=C:2_movie_sourcedest title === Encode video in a dir and outpout in another dir === Color 0A :: FILENAME echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º º echo º The SELECT questions are disable º echo º A DIRECTORY FOR DESTINATION º echo º AND A DIRECTORY FOR SOURCE º echo º º echo º º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. echo. REM set /P my_path_1=" (my_path_1) ex C:2_movie_sourcesource Define the DIRECTORY source ? " REM set /P my_path_2=" (my_path_2) ex C:2_movie_source Define the DIRECTORY destination ? " set /P type_list_it=" Do you want to encode all the movies (y/n)? " IF /I %type_list_it% == y ( GOTO re1 ) ELSE ( GOTO nor ) :: LEAVE AND DO NOTHING :nor echo. echo NOTHING HAS BEEN MADE echo. goto end echo. :: ========= RE1 :re1 cd %my_path_1% set xvidencopts_specs=pass=2:bitrate=700:vhq=2:bvhq=1:chroma_opt:quant_type=mpeg set mencoder_specs=-vf scale=320:240,harddup -srate 44100 -af lavcresample=44100 -lameopts preset=medium:fast -ofps 25 set ext=.mpg FOR %%G IN (*.avi *.mpg *.mpeg *.mov) DO ( mencoder -oac mp3lame -ovc xvid %mencoder_specs% -xvidencopts %xvidencopts_specs% -o %my_path_2%%%~nG%ext% %my_path_1%%%G echo. echo. echo ****** echo %%G converted to %%~nG%ext% echo ****** echo. echo. echo %%G converted to %%~nG%ext% >> %my_path_2%log_encode_%d%%mm%%yyyy%_%sec%.txt ) goto rend :: ERROR IF ERRORLEVEL 1 GOTO er GOTO rend :er echo. echo !!! FAILURE IN ACTION !!! echo. :: ========= RE1 :: LEAVE AFTER THE JOB :rend echo. echo === CONGRATULATIONS - YOU MADE ALL === :end ECHO. ECHO = End of conversion = ECHO = Push the space bar to exit = pause>nul |
Un fichier .bat pour extraire la piste d’un dvd
La ligne de commande ci-dessous, vous permet d’indiquer la piste exacte que vous souhaitez extraire en indiquant le nom et le chemin direct vers le fichier .VOB
qui contient la vidéo. Dans notre exemple, d:VIDEO_TSVTS_01_1.VOB
est donc la première piste le premier fichier .VOB
sur le lecteur de DVD qui est “mappé” dans notre système par la lettre d:
. Deux remarques :
- Votre lecteur DVD peut-être disponible sur une autre lettre par exemple
f:
- Cette commande est parfois utile pour un DVD finalisé
mencoder d:VIDEO_TSVTS_01_1.VOB -oac mp3lame -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576, harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 -ss 00:00:00 -endpos 00:00:00 -o %_output%
code de extract_dvd.bat
@echo off ::::::::::::::::::::::::::::::::::::::::::::: :: extract_dvd.bat :: :: :: :: extract any track from a DVD :: :: Made by hecube.net :: :: === Use Mencoder application === :: :: :: :: Visit hemedia.net :: :: :: ::::::::::::::::::::::::::::::::::::::::::::: :: copyright echo === STEP 1 - extract dvd for futur encoding (.avi) === echo === Made by hecube (c) 2007 === echo === version 1.0 : 23/07/25007 : blog@hecube.net === echo. :: copyright :: 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% :: FUNCTIONS title extract dvd - step 1 Color 0A :: VALUES :: ------------------ HERE DEFINE THE CORRECT PATH TO THE DIRECTORY OF VIDEO OUTPUT set my_path_output=C:2_movie_sourcedest set cut_start_defaut= 00:00:00 set filename_extract_default=movie_%dd%_%mm%_%yyyy%_%hour%_%min%_%sec%_%mmsec% set track_nb_defaut= 1 :: PATH FOR FILES cd %my_path_output% :: FILENAME echo. echo = Filename to extract = echo. :: ask for the filename :op_input echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º º echo º INSERT THE DVD IN THE COMPUTER º echo º DO NOT USE ANY SPACE IN THE FILENAME º echo º DO NOT PUT ANY EXTENSION IN THE FILENAME º echo º TAPE ON ENTER TO VALIDATE º echo º º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. set /P filename_extract="What is the filename of the file extracted? " if not defined filename_extract SET filename_extract=%filename_extract_default% SET _output= %my_path_output%%filename_extract%_%dd%_%mm%_%yyyy%_%hour%_%min%_%sec%_%mmsec%.avi :: CUT THE VID :cutVid echo. echo By default 00:00:00. For 9 sec type 00:00:09..etc SET /P cut_start="Cut the beginning? " if not defined cut_start SET cut_start=%cut_start_defaut% SET _ss= %cut_start% :: CUT THE VID :trackNb :: track_nb echo. echo Select the track number ? eg 1 or 2 one @ time... SET /P cut_start="Cut the beginning? " if not defined track_nb SET track_nb=%track_nb_defaut% SET _tnb= %track_nb% :: ENCODE mencoder dvd://%_tnb% -oac copy -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576, harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 -ss %_ss% -o %_output% REM mencoder dvd://%_tnb% -oac copy -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576, harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 -ss %_ss% -o %_output% goto end :: ############################################################# // PUT YOUR CODE HERE :error ECHO !!! FAILURE IN EXTRACTING THE FILE !!! :: ERROR IF ERRORLEVEL 1 GOTO error GOTO end :end echo. echo === CONGRATULATIONS - YOU MADE ALL === ECHO. ECHO = End of conversion = ECHO = Push the space bar to exit = pause>nul |
Transformer un .bat en .exe
Si on veut se la donner grave, on peut facilement transformer les .bat
en .exe
. Dans notre exemple, on va convertir convert_mp4.bat
en convert_mp4.exe
Bien sûr quelques avantages a cela :
- Pas de réutilisation du code mais donc pas d’amélioration possible… C’est bien le problème de Microsoft sans doute, du code ouvert, vous passez à un code fermé.
- Placer l’icône de votre choix comme illustration du
.exe
, modeste comme avantage mais toujours valorisé par l’utilisateur final que je suis tout comme vous. C’est un peu le même principe que la personnalisation du curseur de la souris. Une remarque néanmoins, on s’en fatigue vite.
Présentation de “Bat To Exe Converter” pour convertir un .bat en .exe
On utilisera “Bat To Exe Converter”. Ce programme est gratuit et il permet de compiler des fichiers .bat
en .exe
en leur adjoignant une icône de votre choix.
URL : Bat To Exe Converter – http://www.f2ko.de/
Ecran 1 – Choix des options de votre futur programme .exe
Ecran 2 – Sélection de l’icône et des informations de votre futur programme .exe
Création du .exe
à partir du .bat
Etape 1 – l’outil pour créer un .ico
Pour convertir depuis photoshop par exemple, vous devez installer un plugin gratuit ou utiliser un logiciel de création d’icône .ico
- ICO (Windows Icon) file format plugin for Photoshop
http://www.telegraphics.com.au/svn/icoformat/trunk/dist/README.html - Un logiciel gratuit por créer des
.ico
IcoFX - Il existe aussi des outils en ligne comme ConvertIcon – http://converticon.com/
Etape 2 – Créer un .ico
Nus voilà avec l’image au format .ico
Le cube du logo de hecube dont on va faire une icône
L’image doit être en 16×16, transparent et avec comme extension .ico
Etape 3 – Compiler le .bat
Il vaut mieux laisser les valeurs par défaut à moins que vous souhaitiez les propriétés d’exécution de votre programme.
L’ajout de l’icone .ico
avant de lancer la compilation
Après la compilation, vous obtenez votre tout nouveau programme 02_convert_mp4.exe
. Pour info, notre .ico
se trouve à côté.
Palette “GEEK” des couleurs et des formes en MS-DOS
Les éléments de décoration à disposition pour peaufiner l’esthétique de vos programmes. Selon, votre génération vous serez plutôt Tron, WarGames ou enfin Zelda…
0 = Noir 1 = Bleu foncé 2 = Vert 3 = Bleu gris 4 = Marron 5 = Pourpre 6 = Kaki 7 = Gris clair 8 = Gris 9 = Bleu clair A = vert clair B = Cyan C = Rouge D = Rose E = Jaune F = blanc Õ = bordure horizontale ∫ = bordure verticale … = coin supérieur gauche » = coin inférieur gauche ª = coin supérieur droit º = coin inférieur droit |
Pour aller plus loin
- Un bonne éditeur pour faire vos .bat
http://astase.com/produits/powerbatch/ - Bat_To_Exe_Converter
http://www.clubic.com/telecharger-fiche137742-bat-to-exe-converter.html - Un logiciel d’édition et de compilation plus abouti mais pas gratuit.
URL : - Quick Batch File Compiler – http://www.abyssmedia.com/quickbfc/
- Quelques bons exemples de fichiers Batch
http://www.hotline-pc.org/batch.htm - Quelques bons exemples de fichiers Batch
http://www.hotline-pc.org/batch.htm - Un pdf d’introduction à la programmation Batch par Adrien REBOISSON – http://www.astase.com
http://www.spiritofhack.net/repo/tutoriel_batch.pdf - Quelques bonnes sources de scripting
http://www.piwu.net/cours/programmation/batch/
http://www.alphaquark.com/Informatique/Msdos.htm
http://glue.umd.edu/~nsw/ench250/dostutor.htm
http://www.chebucto.ns.ca/~ak621/DOS/Bat-Adv2.html
http://www.moteurprog.com/Articles/Article.php?ID_article=14
Des sources supplémentaires de scripting …
- D’autres liens d’informations où il y a un peu à boire et à manger
- http://www.siteduzero.com/tuto-3-2330-1-le-batch.html
- http://home7.inet.tele.dk/batfiles/
- http://www.fpschultze.de/batstuff.html
- http://www.cableyorkton.com/users/gbraun/batch/
- http://www.merlyn.demon.co.uk/batfiles.htm
- http://www.comp-air.com/vfrazee/batch/
- http://www.animatedsoftware.com/faqs/learndos.htm
- http://www.robvanderwoude.com/batchstart.html
- http://www.infionline.net/~wtnewton/batch/batguide.html
- http://www.computerhope.com/msdos.htm
- http://1100f.free.fr/Batchs/index.htm
- http://gtdwannabe.blogspot.com/2007/03/using-for-to-rename-files-from-command.html
- http://members.cox.net/tglbatch/filepart.html
- http://techrepublic.com.com/5208-6230-0.html?forumID=101&threadID=226973&messageID=2262287
- http://www.infionline.net/~wtnewton/batch/batguide.html