Je (Jgirot) ne suis pas l'auteur original de ce logiciel ou les informations suivantes à ce sujet.
Ce qui suit a été copié à partir de http://bblank.thinkmo.de/blog/archive/2010/08/29/new-software-python-dvdvideo le 13 septembre 2016 afin que le code puisse être mieux compris dans ce contexte. De plus, il a été copié ici pour la postérité au cas où la source d'origine serait supprimée ou autrement indisponible.
Commencer le blog original:
Python-dvdvideo est une bibliothèque pour lire les images DVD-video. Il comprend un outil pour vider les images DVD-video cryptées. Il est implémenté dans Python 3.
Après une longue période, j'ai décidé d'écrire à nouveau. J'ai décidé de commencer par des logiciels que j'ai écrits pour mon propre utilisation qui pourraient être utiles pour d'autres personnes. Je vais commencer par Python-Dvdvideo, un lecteur DVD-video écrit dans Python 3, et l'outil de référence DVD-video-Backup-Image, un DVD-Video Dumper générique. Voyons, si ce blog verra plus de publications à l'avenir.
Intention
J'ai commencé à écrire ce logiciel, car LibdvDread n'a souvent pas pu déchiffrer mes DVD vidéo nouvellement achetés. LibdvDread s'attend à une structure plutôt valide du système de fichiers et d'autres métadonnées sur le disque. Il renflouera avec force plusieurs conditions d'erreur. J'ai donc souvent terminé le correctif LibdvDread pour rendre DVDBackup capable de lire les nouveaux disques.
Habituellement, il existe deux façons de créer des sauvegardes de ces DVD, comme des fichiers ou des images complètes. Les vider car les fichiers ont de grands problèmes s'il y a certains défauts dans le système de fichiers, comme un espace est référencé dans plusieurs ensembles de titres. J'ai un disque qui produit 25gib de sortie pendant un tel vidage. Ainsi, la façon moins problématique de le faire consiste à vider l'image complète. C'est ainsi que j'ai utilisé dans l'outil que j'ai construit en plus de cela.
Parties
Le logiciel est dévoué en plusieurs parties. D'abord un petit lecteur UDF. En plus de cela vient un lecteur vidéo DVD. Il utilise l'emballage libdvdcss. Tout cela est utilisé pour implémenter un petit outil pour vider des images entières. Je vais décrire ces parties ici.
Lecteur UDF
Le lecteur UDF implémente un ensemble minimal de fonctionnalités. J'ai mis en œuvre uniquement les choses que j'ai trouvées au besoin et utilisées dans les DVD disponibles. Ce lecteur permet de lire l'UDF de bas niveau, utilisé comme base de tous les DVD vidéo.
Lecteur vidéo DVD
Le lecteur vidéo DVD utilise le lecteur UDF pour obtenir les informations nécessaires du disque. Encore une fois, ce lecteur est silencieux. Il fait uniquement confiance à l'UDF pour les départs des ensembles de titres et s'attend à ce que toute autre chose soit répertoriée dans les fichiers d'informations. Cela permet de lire même les disques avec des systèmes de fichiers brisés, qui sont vraiment courants.
Emballage libdvdcsss
Le wrapper libdvdcss est implémenté à l'aide de CTYPES. La bibliothèque CTYPES permet un accès facile aux fonctions définir dans l'objet partagé. La bibliothèque permet d'appeler les fonctions et de cartographier les arguments et les valeurs de retour aux données Python. Cet emballage me permet de lire également des DVD cryptés.
Immeuble d'image
Cet outil permet de vider un DVD vidéo chiffré dans un fichier. Il essaie de détecter les pièces cryptées (fichiers vidéo / VOB) et non cryptées (fichiers d'informations, autrement utilisé) du disque. De cette façon, il est capable de vider quoi que ce soit, tant qu'il peut lire le système de fichiers et les fichiers d'informations. Cependant, certains disques contient des zones qui se chevauchent, qui ne peuvent pas être aussi facilement déguisées.
L'outil comprend un petit résolveur de conflit qui gère les pièces qui se chevauchent. Il utilise un ensemble de règles pour permettre à certains types de coexister et certains à modifier. Sur les règles Relaquent les choses incluses dans un fichier d'informations mais aussi un titre VOB comme toujours non crypté. Avec ce résolveur, la plupart des problèmes peuvent être traités et nous obtenons un résultat jouable.
Licence et distribution
Ce package est sous licence GPL 3 ou version ultérieure. C'est pour un nouveau distribué via Alioth (git: //git.debian.org/users/waldi/python-dvdvideo.git)
Conclusion
Cet outil me permet de vider tous les DVD vidéo sur lesquels j'ai mis la main dans la dernière fois. Il me permet de regarder les vidéos sur mon cahier qui n'ont pas de lecteur de disque optique en soi. Peut-être que quelqu'un peut également avoir besoin d'un tel outil.