I (Jgirot) 은이 소프트웨어의 원래 저자 또는 이에 대한 다음 정보가 아닙니다.
다음은 http://bblank.thinkmo.de/blog/archive/2010/08/29/new-software-python-dvdvideo에서 복사하여 2016 년 9 월 13 일에 해당 맥락에서 코드가 더 잘 이해 될 수 있도록했습니다. 또한 원래 소스를 제거하거나 사용할 수없는 경우 후손을 위해 여기에 복사되었습니다.
오리지널 블로그 게시물 시작 :
Python-dvdvideo는 DVD-Video 이미지를 읽는 라이브러리입니다. 암호화 된 DVD- 비디오 이미지를 덤프하는 도구가 포함되어 있습니다. Python 3에서 구현됩니다.
오랜 시간이 지난 후, 나는 다시 글을 쓰기로 결정했다. 나는 다른 사람들에게 유용 할 수있는 내 자신의 사용을 위해 쓴 소프트웨어로 시작하기로 결정했습니다. Python 3에 작성된 DVD-Video 리더 인 Python-DVDVideo와 일반 DVD-Video Dumper 인 참조 도구 DVD-Video-Backup-Image로 시작하겠습니다. 이 블로그가 앞으로 더 많은 게시물을 볼 수 있다면 보자.
의도
libdvdread가 새로 구매 한 비디오 DVD를 해독 할 수 없었기 때문에이 소프트웨어를 작성하기 시작했습니다. libdvdread는 디스크에서 파일 시스템 및 기타 메타 데이터의 다소 유효한 구조를 기대합니다. 몇 가지 오류 조건에서 강력하게 구제 할 것입니다. 그래서 나는 종종 dvdbackup이 새로운 디스크를 읽을 수 있도록 libdvdread 패치를 종종 종료했습니다.
일반적으로 파일 또는 완전한 이미지와 같은 DVD의 백업을 생성하는 두 가지 방법이 있습니다. 파일에 파일 시스템에 특정 결함이있는 경우 파일로 덤프하면 일부 공간이 여러 타이틀 세트에서 참조되는 것처럼 큰 문제가 있습니다. 그러한 덤프 중에 25Gib의 출력을 생성하는 디스크가 있습니다. 따라서 문제가 덜한 방법은 완전한 이미지를 버리는 것입니다. 그것이 제가이 도구에서 사용한 방식입니다.
부분품
소프트웨어는 여러 부분으로 나뉩니다. 먼저 작은 UDF 리더. 그 외에도 DVD 비디오 리더가 있습니다. libdvdcss 래퍼를 사용합니다. 이 모든 것은 전체 이미지를 덤프하기위한 작은 도구를 구현하는 데 사용됩니다. 여기 에이 부분을 설명하겠습니다.
UDF 리더
UDF 리더는 최소한의 기능 세트를 구현합니다. 필요에 따라 찾은 것들 만 구현하고 사용 가능한 DVD에서 사용했습니다. 이 독자는 모든 비디오 DVD의 기본으로 사용되는 저하 UDF를 읽을 수 있습니다.
DVD 비디오 리더
DVD 비디오 리더는 UDF 리더를 사용하여 디스크에서 필요한 정보를 얻습니다. 다시이 독자는 조용합니다. 그것은 타이틀 세트의 시작에 대해서만 UDF를 신뢰하며 다른 내용은 정보 파일에 나열되어있을 것으로 기대합니다. 이를 통해 파일 시스템이 깨진 디스크조차 읽을 수 있습니다.
libdvdcss 래퍼
libdvdcss 래퍼는 CTypes를 사용하여 구현됩니다. CTYPES 라이브러리를 사용하면 공유 객체에서 기능에 쉽게 액세스 할 수 있습니다. 라이브러리는 기능을 호출하고 인수를 맵핑하고 값을 Python 데이터 유형으로 반환 할 수 있습니다. 이 래퍼를 사용하면 암호화 된 DVD도 읽을 수 있습니다.
이미지 덤퍼
이 도구를 사용하면 암호화 된 비디오 DVD를 파일에 버릴 수 있습니다. 암호화 된 (비디오/VOB 파일) 및 암호화되지 않은 (정보 파일, 그렇지 않은 공간) 디스크의 부분을 감지하려고합니다. 이렇게하면 파일 시스템과 정보 파일을 읽을 수있는 한 모든 것을 버릴 수 있습니다. 그러나 일부 디스크에는 겹치는 영역이 포함되어있어 쉽게 탈출 할 수 없습니다.
이 도구에는 겹치는 부품을 처리하는 작은 충돌 해결책이 포함되어 있습니다. 일부 유형이 공존하고 일부는 수정할 수 있도록 일련의 규칙을 사용합니다. 규칙에 따라 정보 파일에 포함 된 것들뿐만 아니라 항상 암호화되지 않은 제목 VOB. 이 Resolver를 사용하면 대부분의 문제를 처리 할 수 있으며 재생 가능한 결과를 얻을 수 있습니다.
라이센스 및 배포
이 패키지는 라이센스가 부여 된 GPL 3 이상입니다. Alioth (git : //git.debian.org/users/waldi/python-dvdvideo.git)를 통해 새로운 분산을위한 것입니다.
결론
이 도구를 사용하면 마지막으로 손에 든 모든 비디오 DVD를 버릴 수 있습니다. 광학 디스크 리더가없는 노트북의 비디오를 자체적으로 볼 수 있습니다. 어쩌면 누군가도 그러한 도구가 필요할 수도 있습니다.