Я (jgirot) не является оригинальным автором этого программного обеспечения или следующей информацией о нем.
Следующее было скопировано с http://bblank.thinkmo.de/blog/archive/2010/08/29/new-software-python-dvdvideo 13 сентября 2016 года, чтобы код мог быть лучше понят в этом контексте. Кроме того, он был скопирован здесь для потомства на случай, если исходный источник удален или иным образом недоступен.
Начните оригинальное сообщение в блоге:
Python-Dvdvideo-это библиотека для чтения изображений DVD-Video. Он включает в себя инструмент для сброса зашифрованных изображений DVD-Video. Он реализован в Python 3.
После долгого времени я решил написать снова. Я решил начать с программного обеспечения, которое я написал для своего собственного использования, которое может быть полезным для других людей. Я начну с Python-Dvdvideo, считывателя DVD-Video, написанного на Python 3, и DVD-видео-образной обработке справочного инструмента, общего DVD-Video Dumper. Посмотрим, если в этом блоге в будущем увидят больше публикаций.
Намерение
Я начал писать это программное обеспечение, потому что Libdvdread часто не мог расшифровать мои недавно приобретенные видео DVD. Libdvdread ожидает довольно действительной структуры файловой системы и других метаданных на диске. Он насильственно выручится в нескольких условиях ошибок. Поэтому я часто заканчивал исправление libdvdread, чтобы сделать DVDBackup, способным читать новые диски.
Обычно существует два способа создания резервных копий таких DVD, как файлы или полные изображения. Сбрасывание их в качестве файлов имеет большие проблемы, если в файловой системе есть определенные дефекты, как на некоторое пространство упоминается в нескольких наборах на титул. У меня есть диск, который производит 25 гриб выпуска во время такого свалки. Таким образом, менее проблематичный способ сделать это - сбросить полное изображение. Именно так я использовал в инструменте, который я построил на вершине этого.
Части
Программное обеспечение предназначено на несколько частей. Сначала небольшой читатель UDF. Вдобавок к этому приходит DVD -видео -читатель. Он использует обертку Libdvdcss. Все это используется для реализации небольшого инструмента для сброса целых изображений. Я опишу эти части здесь.
UDF читатель
Читатель UDF реализует минимальный набор функций. Я реализовал только то, что я нашел по мере необходимости и использовал в доступных DVD. Этот читатель позволяет читать Lowlevel UDF, используемый в качестве базы всех видео DVD.
DVD видео читатель
Читатель видео DVD использует читатель UDF, чтобы получить необходимую информацию с диска. Опять этот читатель тихий маленький. Он доверяет UDF только для начала TitleSets и ожидает, что все остальное указано в информационных файлах. Это позволяет читать даже диски с помощью сломанных файловых систем, которые действительно распространены.
Libdvdcss Обертка
Обертка Libdvdcss реализована с использованием ctypes. Библиотека CTYPES позволяет легко получить доступ к функциям в общем объекте. Библиотека позволяет вызову функций и аргументов карт и возвращается значения в дата данных Python. Эта обертка позволяет мне читать также зашифрованные DVD -диски.
Изображение
Этот инструмент позволяет сбрасывать зашифрованный видео DVD в файл. Он пытается обнаружить зашифрованные (видео/VOB -файлы) и незашифрованные (информационные файлы, в противном случае используемые пространства) части диска. Таким образом, он может сбросить все, если он может прочитать файловые и информационные файлы. Тем не менее, некоторые диски содержат перекрывающиеся области, которые не могут быть так легко дефектны.
Инструмент включает в себя небольшой резолювер конфликта, который обрабатывает перекрывающиеся детали. Он использует набор правил, чтобы позволить некоторым типам сосуществовать, а некоторые будут изменены. На правилах перерабатывает вещи, включенные в информационные файлы, но также и виртун «Название», как всегда незашифрованного. С помощью этого резолюра можно решить большинство проблем, и мы получаем игровой результат.
Лицензия и распространение
Этот пакет лицензирован GPL 3 или более поздней версии. Он предназначен для нового распределенного через Alioth (git: //git.debian.org/users/waldi/python-dvdvideo.git)
Заключение
Этот инструмент позволяет мне сбросить все видео DVD, которые я получил в последний раз. Это позволяет мне смотреть видео на моем ноутбуке, в котором нет оптического считывателя диска самостоятельно. Может быть, кому -то может понадобиться такой инструмент.