Créer un DVD avec FFmpeg à partir d’un fichier MKV
Malgré ses immenses qualités, je trouve DeVeDe un peu lent. Du coup, j’ai cherché, non sans mal, à encoder directement mes fichiers vidéo en ligne de commande, sous Windows, avec FFmpeg. Au bout du compte, là où il me fallait 45 minutes pour un vidéo de 2 heures avec DeVeDe, je mets moitié moins de temps à l’aide du script que vous trouverez ci-dessous.
Pré-requis
Vous devez tout d’abord installer FFmpeg pour Windows sur votre machine et récupérer une version de dvdauthor.exe soit à partir de l’installation de DeVeDe, dans le répertoire C:\Program Files (x86)\MajorSilence\DeVeDe\bin en embarquant le fichier cygwin1.dll, ou de celle de DVDAuthorGUI, dans le répertoire C:\Program Files (x86)\DVDAuthorGUI\bin.
Le script video2dvd.cmd
L’écriture est beaucoup simple sur Linux ! On y arrive quand même sous Windows. ;+)Le script s’emploie très simplement, de la manière suivante : video2dvd.cmd fichier.mkv. Après avoir créé un fichier dvd.mpg, la commande DVDAuthor crée un dossier dvd dans lequel vous retrouverez les dossiers AUDIO_TS et VIDEO_TS
@echo off setlocal rem rem Le répertoire d'installation de FFmpeg rem set path=%path%;c:\ffmpeg\bin rem rem Récupération dans les variables height et width des dimensions de la vidéo avec la commande ffprobe rem FOR /F "usebackq delims=" %%i IN (`"ffprobe -v error -select_streams v:0 -show_entries stream=width -of default=noprint_wrappers=1:nokey=1 %1"`) DO set width=%%i FOR /F "usebackq delims=" %%i IN (`"ffprobe -v error -select_streams v:0 -show_entries stream=height -of default=noprint_wrappers=1:nokey=1 %1"`) DO set height=%%i rem rem Calcul de la hauteur et du décalage de la vidéo rem set /A H=576*16/9*%height%/%width% set /A Y=(576-%H%)/2 set /A H=576-2*%Y% rem rem Création du fichier VOB avec ffmpeg rem ffmpeg -y -i %1 -f dvd -target pal-dvd -vf scale=720:%H%,pad=720:576:0:%Y% -aspect 16:9 dvd.mpg rem rem Création du DVD à l'aide de la commande dvdauthor à partir du fichier dvd.xml rem set VIDEO_FORMAT=PAL dvdauthor -x dvd.xml endlocal
L’exécution de la commande dvdauthor.exe provoque une warning que je ne suis pas parvenu à éradiquer :
WARN: Audio pts for channel 0 moves backwards by 30; please remultiplex input. WARN: Previous sector: 7221.110 - 7221.174 WARN: Current sector: 7221.173 - 7221.205
Annexe : dvd.xml
Dans le répertoire de la commande dvdauthor.exe, ajoutez le fichier dvd.xml :
<dvdauthor dest="D:\downloads\download\dvd"> <vmgm /> <titleset> <titles> <video format="pal" aspect="16:9" resolution="720x576"></video> <pgc> <vob file="dvd.mpg" /> </pgc> </titles> </titleset> </dvdauthor>
Multimédia / DeVeDe, Dvd, Ffmpeg, MKV