V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Get Google Chrome
Vimium · 在 Chrome 里使用 vim 快捷键
itopmy
V2EX  ›  Chrome

如何在 chrome 插件中获取 youtube 视频的字幕

  •  
  •   itopmy · Jul 3, 2025 · 2259 views
    This topic created in 298 days ago, the information mentioned may be changed or developed.

    如何在 chrome 插件中获取 youtube 视频的字幕

    有一些 python 的库,没法在 chrome 插件中使用,而且在云端使用容易被封 ip 地址。

    所以想从用户的浏览器端来获取 youtube 视频的字幕。youtube 视频播放页面,本身是可以请求字幕的。看起来是请求这个地址: https://www.youtube.com/youtubei/v1/get_transcript?prettyPrint=false 。但是有一个 params 不知道咋构造出来的。

    --data-raw '{"context":{"client":{"clientName":"WEB","clientVersion":"2.20250526.00.00"}},"params":"CgtiZFNxNGI2RnFxVRISQ2dOaGMzSVNBbVZ1R2dBJTNEGAEqM2VuZ2FnZW1lbnQtcGFuZWwtc2VhcmNoYWJsZS10cmFuc2NyaXB0LXNlYXJjaC1wYW5lbDABOAFAAQ%3D%3D"}'

    有类似的 chrome 插件也是通过请求这个地址获取的字幕,不过对应的 js 代码混淆了。https://chromewebstore.google.com/detail/youtube-summary-chatgpt-b/cdjifpfganmhoojfclednjdnnpooaojb?hl=en-US&utm_source=ext_sidebar

    有谁做过类似的需求?

    10 replies    2025-07-06 08:29:54 +08:00
    winterx
        1
    winterx  
       Jul 3, 2025
    楼主可以抓一下沉浸式翻译看看他怎么实现的
    user1284
        2
    user1284  
       Jul 3, 2025
    好多插件翻译功能都能做到, 给我狠狠逆向他们的插件, 然后带我一起学学
    M4ster
        3
    M4ster  
       Jul 3, 2025
    F12 看了下,在 Network 中 https://www.youtube.com/api/timedtext 相关的请求是与字幕有关的。
    其中的查询参数可能要自己研究下怎么计算,在 GitHub 上搜了下有许多相关项目,OP 可以参考下。
    https://github.com/search?q=youtube.com%2Fapi%2Ftimedtext&ref=opensearch&type=code
    iOCZS
        4
    iOCZS  
       Jul 3, 2025
    应该可以拦截请求。。。。
    itopmy
        5
    itopmy  
    OP
       Jul 3, 2025
    @M4ster 视频下面有一个 more ,点开后,有一个 show transcript ,点击后的请求就是 https://www.youtube.com/youtubei/v1/get_transcript?prettyPrint=false ,确实就是不知道它的参数是咋构造的。特别是 params 那个 base64 编码。

    https://www.youtube.com/api/timedtext 这个感觉是比较早的接口了。
    itopmy
        6
    itopmy  
    OP
       Jul 3, 2025
    @iOCZS 不想拦截请求,就是想用户观看视频时,后台拿到字幕,然后让 AI 加工一下。字幕在用户端获取。现在有好多视频 summary 的插件,都是同样的套路。
    AvilCore
        7
    AvilCore  
       Jul 3, 2025   ❤️ 1
    有做好的轮子干嘛自己造呢
    https://github.com/LuanRT/YouTube.js/pull/500
    dark495
        8
    dark495  
       Jul 3, 2025
    iOCZS
        9
    iOCZS  
       Jul 4, 2025
    @dark495
    @itopmy 我记得 Chrome 插件原生就提供拦截请求的能力,有个双语字幕就是基于这个原理实现的
    dark495
        10
    dark495  
       Jul 6, 2025
    @iOCZS mv3 没有这个能力了,chrome 禁止了 mv2
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   961 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 20:49 · PVG 04:49 · LAX 13:49 · JFK 16:49
    ♥ Do have faith in what you're doing.