أنا (jgirot) لست المؤلف الأصلي لهذا البرنامج أو المعلومات التالية حوله.
تم نسخ ما يلي من http://bblank.thinkmo.de/blog/archive/2010/08/29/new-software-python-dvdvideo في 13 سبتمبر 2016 بحيث يكون الكود مفهومة بشكل أفضل في هذا السياق. أيضًا ، تم نسخه هنا للحصول على الأجيال القادمة في حالة إزالة المصدر الأصلي أو غير متوفر بطريقة أخرى.
ابدأ منشور المدونة الأصلي:
Python-DVDVideo هي مكتبة لقراءة صور VDD-Video. يتضمن أداة لتفريغ صور DVD-Video المشفرة. يتم تنفيذه في بيثون 3.
بعد وقت طويل ، قررت الكتابة مرة أخرى. قررت أن أبدأ بالبرنامج الذي كتبته لاستخدامي الخاص الذي قد يكون مفيدًا للأشخاص الآخرين. سأبدأ بـ Python-DVDVideo ، وهو قارئ VVD-Video مكتوب في Python 3 ، والأداة المرجعية DVD-Video-Backup-Image ، وهو DVD-Video Dumper. لنرى ، إذا كانت هذه المدونة ستشاهد المزيد من المنشورات في المستقبل.
نيّة
بدأت في كتابة هذا البرنامج ، لأن LibdVdread لم يكن قادرًا على فك تشفير أقراص الفيديو الرقمية التي تم شراؤها حديثًا. تتوقع LibDvDread بنية صالحة إلى حد ما لنظام الملفات والبيانات الوصفية الأخرى على القرص. سوف ينقذ بقوة عدة شروط خطأ. لذلك غالبًا ما انتهيت من تصحيح libdvdread لجعل DVDBackup قادرًا على قراءة الأقراص الجديدة.
عادة ما يكون هناك طريقتان لإنشاء نسخ احتياطية من أقراص DVD هذه ، مثل الملفات أو الصور الكاملة. إن إلقاءها كملفات يعاني من مشاكل كبيرة إذا كانت هناك عيوب معينة في نظام الملفات ، مثل بعض المساحة في عدة ألقاب. لدي قرص ينتج 25GIB من الإخراج خلال مثل هذا التفريغ. لذا فإن الطريقة الأقل إشكالية للقيام بذلك هي تفريغ الصورة الكاملة. هذه هي الطريقة التي استخدمتها في الأداة التي بنيتها فوق هذا.
أجزاء
يتم انتقاد البرنامج إلى عدة أجزاء. أولا قارئ UDF صغير. علاوة على ذلك يأتي قارئ الفيديو DVD. يستفيد من غلاف libdvdcss. كل هذا يستخدم لتنفيذ أداة صغيرة لتفريغ الصور بأكملها. سأصف هذه الأجزاء هنا.
قارئ UDF
يقوم قارئ UDF بتنفيذ مجموعة أقل من الميزات. لقد قمت بتنفيذ الأشياء التي وجدتها فقط حسب الحاجة واستخدمت في أقراص DVD المتاحة. يسمح هذا القارئ بقراءة UDF Lowlevel ، المستخدم كقاعدة لجميع أقراص الفيديو الرقمية.
قارئ الفيديو DVD
يستخدم قارئ الفيديو DVD قارئ UDF للحصول على المعلومات اللازمة من القرص. مرة أخرى هذا القارئ هادئ صغير. يثق فقط في UDF لبدايات Natlesets ويتوقع أن يتم سرد أي شيء آخر في ملفات المعلومات. هذا يسمح لقراءة حتى الأقراص مع أنظمة الملفات المكسورة ، والتي هي شائعة حقا.
libdvdcss غلاف
يتم تنفيذ غلاف libdvdcss باستخدام ctypes. تتيح مكتبة Ctypes الوصول بسهولة إلى وظائف التعريف في الكائن المشترك. تسمح المكتبة باستدعاء الوسيطات والخرائط للوسائط وإرجاع القيم إلى أنواع بيانات Python. يتيح لي هذا الغلاف قراءة أقراص DVD المشفرة.
صورة Dumper
تسمح هذه الأداة بتفريغ قرص الفيديو الرقمي المشفر في ملف. يحاول اكتشاف أجزاء غير مشفرة (ملفات الفيديو/VOB) وأجزاء غير مشفرة (ملفات المعلومات ، والمساحة المستخدمة على خلاف ذلك) من القرص. وبهذه الطريقة ، تكون قادرة على تفريغ أي شيء ، طالما أنه يمكن قراءة ملفات الملفات وملفات المعلومات. ومع ذلك ، فإن بعض الأقراص تحتوي على مناطق متداخلة ، والتي لا يمكن أن تتناقص بسهولة.
تتضمن الأداة حلًا صغيرًا للنزاع الذي يتعامل مع الأجزاء المتداخلة. يستخدم مجموعة من القواعد للسماح لبعض الأنواع بالتعايش والبعض الآخر لتعديلها. فيما يتعلق بالقواعد ، تعيد الأشياء المدرجة في ملفات المعلومات ولكن أيضًا عنوانًا كما هو غير مشفر دائمًا. مع هذا الحل ، يمكن التعامل مع معظم المشكلات ونحصل على نتيجة قابلة للعب.
الترخيص والتوزيع
هذه الحزمة مرخصة GPL 3 أو أحدث. إنه من أجل توزيع جديد عبر Alioth (git: //git.debian.org/users/waldi/python-dvdvideo.git)
خاتمة
تتيح لي هذه الأداة تفريغ جميع أقراص الفيديو الرقمية التي حصلت عليها في آخر مرة. يسمح لي بمشاهدة مقاطع الفيديو على دفتر الملاحظات الذي لا يحتوي على قارئ قرص بصري من تلقاء نفسه. ربما قد يحتاج شخص ما إلى مثل هذه الأداة أيضًا.