Journal Un script pour transcoder des vidéos en vue d'un DVD

Posté par  . Licence CC By‑SA.
Étiquettes :
25
15
mai
2020

Salut la foule,

Je me suis récemment frotté à la création de DVD (une techno d'avenir) sous Linux. Jusque là, j'utilisais Adobe Encore sous Windows. Mes efforts pour utiliser Linux et des logiciels libres dans mon travail se poursuivent, et je suis passé à DVDStyler, que j'avais déjà utilisé pour un projet il y a… 15 ans.

J'ai bien galéré pour obtenir la qualité de transcodage voulue. La version Linux de DVDStyler ne permet ni de faire deux passes, ni d'utiliser les options "HQ" et "XHQ", pourtant présentes, mais seulement utilisables sous Windows.

J'ai cherché sans rien trouver de satisfaisant, puis en désespoir de cause, j'ai écrit ce script. Le plus difficile a été de trouver les bonnes options de ffmpeg pour résoudre les défauts de son transcodage DVD PAL par défaut (option "-target pal-dvd"). Sur les plans fixes, l'image tressautait à la période des GOP, allez savoir pourquoi. Par ailleurs, le réglage plafonnait sur un débit binaire trop bas, qui ne permettait pas de remplir mon DVD double couche, même avec 3h26 de film. Avec une qualité insuffisante en conséquence.

En résumé, le script prend toutes les vidéos qu'il trouve dans un dossier et les transcode en calculant le débit binaire optimal. Il prend plusieurs paramètres, voir plus bas.

Bref, s'il y a des disaïneureuses de DVD un peu perfectionnistes parmi vous, ce script peut aider. Ou si vous connaissez mieux bash ou ffmpeg que moi (c'est très probable), vous pouvez m'aider à l'améliorer ! Voilà en détail ce qu'il fait et qu'il explique chaque fois qu'on le lance:

$ ./video2dvd.sh

Utilisation : ./video2dvd.sh [OPTIONS]

Transcode des fichiers vidéos au format DVD PAL 16:9, à la meilleure qualité possible,
en calculant le débit vidéo au mieux pour remplir le DVD. Si les menus du DVD doivent
contenir des vidéos, les inclure pour qu'elles soient comprises dans le calcul.

--source                             Chemin d'accès du dossier contenant les vidéos à transcoder.
                                     Valeur par défaut : le dossier courant.
--dest                               Chemin d'accès du dossier où mettre les vidéos transcodées.
                                     Il sera créé si besoin.
                                     Valeur par défaut : le dossier 'transcodés' à coté du dossier source.
--contient                           Chaîne de caractères filtrant les fichiers.
                                     Valeur par défaut : vide, ne filtre aucun fichier.
--size                               Taille du DVD à réaliser, en Mo.
                                     Valeur par défaut : 4700 (simple couche).
                                     Pour un DVD double couche, mettre 8500.
--audio_bitrate                      Débit binaire de l'audio, en kbits/s.
                                     Valeur par défaut : 192.
--video_bitrate                      Débit binaire de la vidéo, en kbits/s.
                                     Valeur par défaut : vide, le débit est calculé.
                                     Cette option permet de passer outre le calcul du débit optimal.

Exemples :
./video2dvd.sh                       Transcode toutes les vidéos du dossier courant, vers le dossier
                                     'transcodés' à côté du dossier courant, pour un DVD simple couche, 
                                     l'audio à 192 kbits/s et un débit vidéo calculé pour remplir le DVD.
./video2dvd.sh --audio_bitrate=128   La même chose, avec un son plus compressé.
./video2dvd.sh --source=originaux --dest=mpg --contient=.mp4
                                     Transcode les vidéos '.mp4' du dossier 'originaux' vers le dossier
                                     'mpg' (à coté du dossier 'originaux'), avec les paramètres par
                                     défaut calculés pour remplir le DVD.
  • # DevedeNG

    Posté par  (site web personnel) . Évalué à 4.

    • [^] # Re: DevedeNG

      Posté par  . Évalué à 2.

      Je ne me suis pas intéressé a DevedeNG parce qu'il m'a paru trop basique pour les menus chiadés que je voulais faire, mais je viens de voir qu'il propose une option pour l'encodage deux passes.

      Alors, va savoir, s'il évitait les défauts que j'ai constatés de l'encodage DVD PAL par défaut de ffmpeg, on pourrait imaginer l'utiliser juste pour récupérer les fichiers transcodés et les réutiliser dans DVDStyler. Flux de travail un peu tordu, mais j'y aurais peut-être passé moins de temps qu'à faire mon script.

      Bon, le script est fait maintenant :D.

  • # Un script sympa pour automatiser et oublier !

    Posté par  . Évalué à 5.

    Je trouve que c'est vraiment un script utile.

    Une automatisation de la génération d'un DVD même si on en produit deux par an c'est utile.
    et surtout ça permet son inclusion dans une chaîne de production si besoin.

    Je vais tester ce script pour mes productions de vacances :D

    encore bravo !

  • # back to the future

    Posté par  (Mastodon) . Évalué à 2.

    C'est fascinant de voir qu'il existe encore des gens pour produire, et regarder des formats vidéos du milieu des années 90 et qui ne rendent bien que sur des vieux écrans cathodiques. Ça doit faire 3 déménagements que je ne dois plus avoir d'appareil qui peut encore lire ces machins à la maison.

    Quel est le publique destiné à ces DVD par curiosité ? Des infographies dans une salle d´a ttente ?

    • [^] # Re: back to the future

      Posté par  (site web personnel, Mastodon) . Évalué à 3.

      Les DVD via ma PlayStation 3 (machine réputée pour la qualité de son upscaling apparemment) rendent très bien sur ma télé 1080p, bien mieux que la plupart des mp4 qu'il m'est donné de regarder. Le surcoût d'une version Blu-ray ne me parait pas systématiquement justifié. Et peut-être que graver un DVD est également moins cher que graver un BR ?

    • [^] # Re: back to the future

      Posté par  . Évalué à 3.

      L’essentiel des gens qui regardent ce que l’on fait à Télé Millevaches le font sur internet, sur 7ALimoges, où en projection publique (en cinéma, dans des bars, des salles des fêtes, sous chapiteau lors d’événements, etc.).

      Mais notre 4ᵉ canal, c’est la « télé postale ». 250 DVD en prêt gratuit dans les mairies et les médiathèques du plateau de Millevaches. Et pas seulement pour un public âgé. Aussi des gens qui ne tombent sur nos films que parce qu’ils croisent le chemin d’un… objet en bonne place à l’entrée de la médiathèque où lors d’une visite à Mme la Maire. Le DVD est ce qui ce fait de plus universel comme support physique. Devant le Blu-ray et la cassette VHS, oui monsieur :).

      Et je suis le premier surpris du résultat quand on passe de la HD à un DVD. Du 720 × 576 bien piqué, ça passe pas si mal. Des fois je me dis, arrêtons cette course à l’obsolescence, reprenons nos vieilles caméras DV et le montage vidéo au Pentium.

      (On vient d’acheter des caméras dernier cri, ceci dit. Le premier qui dit dissonance cognitive -> []).

      • [^] # Re: back to the future

        Posté par  (Mastodon) . Évalué à 2. Dernière modification le 19 mai 2020 à 10:04.

        À l'époque de youtube et du streaming, j'ignorais qu'il existait des concepts de télé postale. Marrant. J'aurais plutôt mis un qrcode et une url à la mairie.

        L'avantage c'est qu'on a moins peur de mettre un dvd dans un vieux lecteur que d'insérer une sdcard ou une clé usb dans son pc. Il y a moins la peur du virus.

        Les DVD vierges ça se trouve encore facilement ? Les prix n'ont pas augmentés ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.