区域代码已设置为所有区域

区域代码已设置为所有区域

0x00000000当使用各种可以解密(即删除 DRM)光盘的翻录软件时,区域掩码似乎会发生变化。

mpv报道:

libdvdnav: DVD disk reports itself with Region mask 0x00000000. Regions: 01 02 03 04 05 06 07 08

VLC 依次为:

dvdnav demux: DVD disk reports itself with Region mask 0x00000000. Regions: 01 02 03 04 05 06 07 08

这是否意味着区域限制只是被修补了吗?为什么字符串是0x00000000而不仅仅是0('global'),或者所有标志从18

答案1

区域代码已设置为所有区域

资料来源:几年前,我的办公桌上堆满了约 9 英寸的 DVD 规格(从物理到逻辑),但我曾经从事 DVD 防复制保护工作。这些信息大部分也可以在https://en.wikipedia.org/wiki/DVD_region_code

字段大小问题

我 99% 确定该字段是 16 位,正如 @harrymc 所说,表面上的 32 位数字只是个幌子。无论如何,只使用了底部 8 位。这在 DVD 规范中很常见,其中许多字段都保留了位以备将来扩展。

0x00 表示可在所有地区播放

位字段是– 位中的“1”表示 DVD 是不是允许在该区域播放。因此,区域“0x01”表示不是可以在区域 1 中播放,但可以在其他地方播放。区域 1 的光盘编码为 0xFE。

因此,区域“0x00”表示可播放所有地区

大多数翻录者在翻录时都会将区域改为 0,因为从历史上看,翻录的主要原因之一(或者至少是主要的准合法原因!)是为了打破区域限制,而这样做对他们没有任何不利之处。

答案2

0x00000000和的值0相同。唯一的区别在于编写代码的程序。

该代码0x00000000使用十六进制格式打印,但0 如果写成十进制则为值。

这只是编程的方式libdvdnav,使用指定十六进制格式的打印。

有关编程信息,请参阅 fprintf 函数

答案3

区域代码被处理为“位掩码”,因为任何给定的 DVD 都可以针对多个区域进行编码。区域代码 0(全局)相当于掩码中未设置任何位。假设位从右到左编号(计算机中通常采用的方式),则区域代码将是

  87654321
0x00000000

因此,针对美国/加拿大(区域 1)和欧洲/中东(区域 2)编码的光盘将具有区域掩码

  87654321
0x00000011

而针对美国/加拿大(区域 1)、拉丁美洲/澳大利亚/大洋洲(区域 4)和东南亚(区域 3)编码的地址将具有区域掩码

  87654321
0x00001101

eta:我实际上在上面的解释中把这些位“翻转”了;每https://www.askingbox.com/info/the-dvd-region-coding-and-its-technical-implementation,位位置上的 1 会锁定该区域,而 0 会启用播放。因此,第一个例子应该是 ,0x11111100第二个例子应该是0x11110010。然而,这仍然是二进制中的一个字节,而不是符号所暗示的完整 32 位字。

答案4

其区域掩码为零,这意味着它可以在任何地方播放。播放任何不受区域限制的 DVD 时,消息都相同(无需翻录)。

在消息中,8 位区域掩码隐藏在 32 位长值*内。
以下是运行mpv dvd://对我拥有的四张不同的商业 DVD 的提示:

libdvdnav: DVD disk reports itself with Region mask 0x00fe0000. Regions: 01
libdvdnav: DVD disk reports itself with Region mask 0x00fd0000. Regions: 02
libdvdnav: DVD disk reports itself with Region mask 0x00e50000. Regions: 02 04 05
libdvdnav: DVD disk reports itself with Region mask 0x00000000. Regions: 01 02 03 04 05 06 07 08

在第一个例子中,区域掩码0xfe( 0b11111110) 表示区域 8 到 2 被掩码:
它只能在区域 1 中播放。(只有最右边的位为零。)
该掩码的逆(一的补码)0x010b00000001)意味着相反:区域 1 被掩码,它只能在其他区域播放。

*:这可能是某种调试问题,也可能是疏忽,为什么会这样显示。虽然逻辑没有改变,但只有当存在非零掩码时才会显示出来(前三​​个示例)。

相关内容