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.

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 commentaire
  • echo. => affiche une ligne vide
  • Pause>nul => il n’y a plus de message affiché dans vos .bat
  • test_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_2
  • cd C:0_BATCH_DOS0_testfiles_2 => se rend à l’adresse indiqué c’est à dire C:0_BATCH_DOS0_testfiles_2
  • test_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

Extraire les vidéos d'un DVD, Convertir en masse des fichiers vidéo

Ecran 2 – Sélection de l’icône et des informations de votre futur programme .exe

Extraire les vidéos d'un DVD, Convertir en masse des fichiers vidéo

Extraire les vidéos d'un DVD, Convertir en masse des fichiers vidéo

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

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
Extraire les vidéos d'un DVD, Convertir en masse des fichiers vidéo

L’image doit être en 16×16, transparent et avec comme extension .ico
Extraire les vidéos d'un DVD, Convertir en masse des fichiers vidéo

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.
Extraire les vidéos d'un DVD, Convertir en masse des fichiers vidéo

L’ajout de l’icone .ico avant de lancer la compilation
Extraire les vidéos d'un DVD, Convertir en masse des fichiers vidéo

Après la compilation, vous obtenez votre tout nouveau programme 02_convert_mp4.exe. Pour info, notre .ico se trouve à côté.
Extraire les vidéos d'un DVD, Convertir en masse des fichiers vidéo

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

Des sources supplémentaires de scripting …