【问题标题】:Seek to a point in a Netflix video寻找 Netflix 视频中的某个点
【发布时间】:2020-09-09 19:40:05
【问题描述】:

我正在创建一个同步网络扩展,我想修改视频的当前时间。 所以我检测到了<video>,我这样做是为了更改时间码:

video.currentTime=5;

但 netflix 会自动在屏幕上显示错误: https://prnt.sc/sm0ro9https://prnt.sc/sm0sev

this.video.currentTime=5; 遇到了同样的错误

我知道 video.currenttime 正在工作,因为在屏幕 1 中我们可以看到 netflix 将准确的时间码发送给我。

有人知道我如何编辑时间码吗?

【问题讨论】:

  • 显然,就像 YouTube 的 player.seekTo 方法暴露在播放器的 DOM 元素上一样,Netflix 使用自己的方法来控制视频。您必须对页面脚本进行逆向工程。还要寻找现有的尝试,例如this one
  • @wOxxOm 我试过 'netflix.cadmium.UiEvents.events.resize[1].scope.events.dragend[1].handler(null, {value: 600, pointerEventData: {playing:错误的}});' (错误:Uncaught TypeError: Cannot read property 'UiEvents' of undefined )但它不起作用,netflix.cadmium 不再存在......
  • 好的,所以我做了一些研究,发现我需要: 摇动鼠标以显示播放控件。等待 10 毫秒让 UI 响应 0.1 毫秒显然是不够的 模拟光标悬停在播放滑块上,以便出现缩略图预览,因为除非预览可见,否则播放滑块显然不会响应输入。等待 10 毫秒,让 UI 响应 在适当位置单击播放滑块(在缩小的 Netflix 代码中称为“洗涤器控件”)以查找视频。所以我需要 JQuery。但问题是我不知道该怎么做......
  • 你试过这个吗:stackoverflow.com/a/46816934/9487478?
  • @Paul 我试过 netflix.cadmium.UiEvents.events.resize[1].scope.events.dragend[1].handler(null, {value: 999, pointerEventData: {playing: false }});把我有一个错误:VM48:1 Uncaught TypeError: Cannot read property 'UiEvents' of undefined at

标签: javascript html jquery netflix


【解决方案1】:

好的,多亏了保罗,我找到了答案: 我需要在页面中注入这段代码:

const videoPlayer = netflix.appContext.state.playerApp.getAPI().videoPlayer;
const player=videoPlayer.getVideoPlayerBySessionId(videoPlayer.getAllPlayerSessionIds()[0]);

如果我想寻找:

player.seek(1091243)

(18分钟)

感谢大家的帮助。

【讨论】:

    猜你喜欢
    • 2012-05-14
    • 2013-12-07
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多