黑客黑镜的:班德斯纳奇

背景

除非您过去五年来一直生活在岩石下,否则您可能听说过一个名为《黑镜》的小节目。 万一您不知道演出的内容,这里简要介绍一下演出。 《黑镜》是一部科幻小说选集,该丛书的主要精神是反映出许多可怕的方法,这些技术可以使人类遭受最坏的生活。

2018年12月28日,《黑镜》在Netflix上发布了他们的第一部互动电影《班德斯纳奇》,当观看班德斯纳奇时,用户将被迫在屏幕上做出决定,这将决定他们在屏幕上目击的事件。 根据您做出的选择和想要看的结尾量,电影的总时长可能在1.5-5.5小时之间。 我的第一个想法是“惊叹整个5个小时的原始黑镜内容。 3个小时后,我坐在我的电脑前,快闪过去,因为不得不死去重做选择而筋疲力尽。 正是在这一刻,我认为必须找到一种更好的方法来找到所有结局。 那里!!!

“劫掠乐队”

因此,在进行了密集搜索之后,我发现,为了破解Bandersnatch的选择,您需要在观看Bandersnatch的同时打开开发者控制台并访问Netflix的Player API。

像这样:

您在上面看到的代码是Javascript代码,它将您连接到Netflix的视频API,查找您的用户会话,并获取游戏中的所有互动时刻。

连接到Netflix API

const api = netflix.appContext.state.playerApp.getAPI()

为本次视频会议分配ID

const playerSessionId = api.videoPlayer.getAllPlayerSessionIds()[0]

获取游戏中所有互动时刻的哈希值

const ivm = api.branching.getInteractiveVideoMoments(playerSessionId)

现在假设您想查看ivm中存在的可用选项的数组

在控制台中输入ivm.momentsBySegment

它应该显示如下所示的哈希:

请注意每个选择点前面括号中的小数字。 这将使您知道选择点是一个死胡同,还是有多个决定。

现在,您可以获得所需的任何选择点的信息。 如您所见,我单击了“ 1H:”下拉菜单,然后单击了“ 1:”,然后单击了“ choices:”下拉菜单。这告诉您,如果要播放1H下降点,您将面临“接受”之间的选择。 ”或“拒绝”并提供。现在,您可以轻松地找到要播放的选择点的信息。

使您可以访问实际的视频播放器

const player = api.videoPlayer.getVideoPlayerBySessionId(playerSessionId)

此行告诉Netflix播放器跳过哪个选择段

player.playSegment(“ 3L”)

上面的行也可能是“ player.playSegment(“ 7A”)”或任何player.playSegment(“ any_choicepoint”),它们在我们运行ivm.momentsBySegments时存在。

如您所见,Netflix播放器立即跳到视频中做出选择点的位置。