Dvd

DVD 閱讀器只能在內部讀取區域 1 DVD

  • September 7, 2020

我正在使用 Linux(我沒有在 Windows 上嘗試過以下操作)。

我住在歐洲。我有一張可以使用 VLC 讀取的 zone 1 DVD,還有一個連接到舊電腦 SATA 埠的 DVD 閱讀器。問題:當 DVD 閱讀器在電腦外部使用時(使用 SATA/USB 轉換器),它不再能夠讀取區域 1 DVD!我已經能夠用另一個 DVD 閱讀器檢查這一點,結果相同:它在連接到 SATA 埠時讀取 DVD,但在外部使用時不讀取。

這是 VLC 在標準輸出上寫的內容:

libdvdnav: Using dvdnav version 5.0.3
libdvdnav: DVD Title: IDIOCRACY_SIDEA
libdvdnav: DVD Serial Number: 3554980E
libdvdnav: DVD Title (Alternative): IDIOCRACY_SIDEA
libdvdnav: DVD disk reports itself with Region mask 0x00fe0000. Regions: 1

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000130
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x000004cd
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x000005a4
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x000011c8
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_04_1.VOB at 0x0000fd1f
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_05_0.VOB at 0x000228bc
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_05_1.VOB at 0x0002e604
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_06_1.VOB at 0x00211ea2
libdvdread: Elapsed time 0
libdvdread: Found 6 VTS's
libdvdread: Elapsed time 0
libdvdnav: Suspected RCE Region Protection!!!
libdvdnav: Suspected RCE Region Protection!!!
libdvdnav: Suspected RCE Region Protection!!!

當外部使用其中一台 DVD 閱讀器時,VLC 將在此處停止;當在內部與 SATA 埠一起使用時,它可以毫無問題地開始讀取 DVD。但在這兩種情況下,標準輸出都與上述相同。

有什麼想法可以解釋這種行為嗎?為什麼內部連接 DVD 時效果更好?我相信“區域化的東西”是在 DVD 閱讀器本身中編碼的?

提前致謝,

朱利安

編輯:

更多細節。事實上,我在我的收藏中發現了另一張 1 區 DVD:“TAKEN”。舊的外部 DVD 無區域讀取器(在 USB 外部盒中)可以毫無問題地讀取它:

$ sudo regionset /dev/sr1
regionset version 0.1 -- reads/sets region code on DVD drives
Current Region Code settings:
RPC Phase: II
type: NONE
vendor resets available: 4
user controlled changes resets available: 5
drive plays discs from region(s):, mask=0xFF
Would you like to change the region setting of your drive? [y/n]:n

讀取 DVD 時,VLC 寫道:

libdvdnav: Using dvdnav version 5.0.3
libdvdnav: DVD Title: TAKEN
libdvdnav: DVD Serial Number: 2ef5a0a4
libdvdnav: DVD Title (Alternative): 
libdvdnav: DVD disk reports itself with Region mask 0x00f60000. Regions: 1 4

而我的原始文章(“IDIOCRACY_SIDEA”)中無法讀取的 DVD 是區域 1,而不是上面的“1 4”:

libdvdnav: Using dvdnav version 5.0.3
libdvdnav: DVD Title: IDIOCRACY_SIDEA
libdvdnav: DVD Serial Number: 3554980E
libdvdnav: DVD Title (Alternative): IDIOCRACY_SIDEA
libdvdnav: DVD disk reports itself with Region mask 0x00fe0000. Regions: 1

這是否預期無區域 DVD 閱讀器能夠讀取“區域 1 4”,但不能讀取“區域 1”DVD?我注意到在我的收藏中隨機選擇的“區域 2 DVD”會產生以下 VLC 輸出:

libdvdnav: Using dvdnav version 5.0.3
libdvdnav: DVD Title: OBLIVION
libdvdnav: DVD Serial Number: 42c77106
libdvdnav: DVD Title (Alternative): G7_R1
libdvdnav: DVD disk reports itself with Region mask 0x00f50000. Regions: 2 4

所以它並不是真正的“區域 2”DVD,而是“區域 2 4”;VLC 在我的任何 DVD 閱讀器中都可以毫無問題地讀取它。

令人驚訝的是,一旦直接連接到舊電腦主機板的 SATA 埠,我的兩個無區域 DVD 閱讀器中的任何一個都可以毫無問題地讀取“IDIOCRACY_SIDEA”(請參閱我的原始文章)。

注意:另一個 DVD 閱讀器(第三個)是“2 區”,無法同時閱讀“TAKEN”和“IDIOCRACY_SIDEA”(毫不奇怪):

$ sudo regionset /dev/sr0
regionset version 0.1 -- reads/sets region code on DVD drives
Current Region Code settings:
RPC Phase: II
type: SET
vendor resets available: 4
user controlled changes resets available: 4
drive plays discs from region(s): 2, mask=0xFD
Would you like to change the region setting of your drive? [y/n]:n

最初,第一台電腦 DVD 驅動器是所謂的“RPC I”驅動器,它可以讓 CPU 處理大部分“區域化的東西”。事實證明這很容易規避,所以很長一段時間以來,市場上的任何電腦 DVD 驅動器都是“RPC II”驅動器,它確實會在內部處理“區域化的東西”。

但即使是“RPC II”驅動器也需要這樣做,顯然您的 SATA/USB 轉換器無法通過必要的命令。

此外,這不僅僅是區域化:DVD 上的 DRM 方案的初衷是使除授權播放器軟體之外的任何其他方式使用 DVD 上的多媒體數據變得不切實際,以阻止/阻止數字數據的輕鬆複製。或者至少,強制複印機使用會導致可檢測到的質量損失的方法。

因此,轉換器中缺乏對區域化相關命令的支持很可能是 DRM 方案的一部分:硬體製造商只有在獲得適當許可並在這些許可規定的條件下才能實施這些命令,否則可能會被起訴專利侵權和/或製造“DRM規避設備”。

libdvdnav: Suspected RCE Region Protection!!!

這表明 libdvdnav 正在檢測光碟本身可能正在使用“增強”形式的區域保護。基本上,光碟包含一些在播放器內的 VM 中執行的程式碼,並且該程式碼還可以查詢驅動器將支持哪些區域。如果它得到一個指示多個區域的答案,或者驅動器的區域程式碼未設置,它將拒絕播放其餘內容。並非所有光碟都具有這種“增強”區域保護。

$ sudo regionset /dev/sr1
regionset version 0.1 -- reads/sets region code on DVD drives
Current Region Code settings:
RPC Phase: II
type: NONE
vendor resets available: 4
user controlled changes resets available: 5
drive plays discs from region(s):, mask=0xFF

這個輸出表明驅動器是我前面提到的“RPC II”類型,但看起來它的區域設置實際上從未設置為任何值。這可能意味著驅動器的區域自由性可以通過所謂的“自動重置”韌體來實現,只要斷電,它就會方便地忘記任何區域設置(以及以前可能已經進行過此類設置的事實),和/或當驅動器托盤打開時。

如果這是真的,那麼您可能想嘗試使用“regionset”將驅動器設置為區域 1,然後播放有問題的光碟。如果設置仍然存在,並且“使用者控制的更改重置可用”計數器遞減並保持遞減,則驅動器可能畢竟不是真正的無區域。但是,如果光碟播放,然後驅動器在光碟被移除/驅動器未通電後忘記了設置,那麼這可能正是您需要對 RCE 光碟執行的操作。

引用自:https://unix.stackexchange.com/questions/607808