Recently Written · git

subread-extension

Show your own .srt over a YouTube video, in time with it. Chrome and Firefox.

git clone https://github.com/equwal/subread-extension

Log | Files | Refs


README.md (4659 bytes)

1 # SubRead for YouTube (Chrome and Firefox)
2 
3 Shows your own `.srt` over a YouTube video, in time with it. It is made for
4 audiobooks on YouTube: make book-accurate subtitles at
5 [subread.space](https://subread.space) from the audiobook and its ebook (free,
6 in the browser), then read along on the video.
7 
8 Press **SR** at the top right of the player, and choose the `.srt`.
9 
10 ![Moby-Dick (LibriVox) on YouTube, with a line from the book over the player and the SR panel open](store/graphics/screenshot-2-moby-dick-panel.png)
11 
12 ![Kokoro on YouTube, with the SubRead transcript next to the video](store/graphics/screenshot-1-kokoro-transcript.png)
13 
14 The subtitles in the pictures are in `store/demo/`. More languages are in `store/graphics/`.
15 
16 - **Start**: the video on YouTube often has an intro that your audio file does
17   not. Play to where the narrator reads the first line and press
18   **First line is now**, or move the start by 0.1 s and 1 s.
19 - **Speed**: for an upload that runs a little faster or slower than your file.
20 - The subtitles and these settings are kept for each video (the newest 8).
21 - **Transcript**: shows SubRead's own transcript panel next to the video, filled
22   with your subtitles. Click a line to jump the video to it.
23 
24 ## What it does not do
25 
26 It does not read, record or download the video or its sound, and it sends
27 nothing anywhere. The one permission is `storage`, to keep your subtitles in
28 the browser. The stores do not allow an extension that takes media from
29 YouTube, and YouTube's terms do not allow it; this one only draws text.
30 
31 ## Layout
32 
33 | Path | What |
34 |---|---|
35 | `manifest.json` | Manifest V3, the same for both browsers (`browser_specific_settings` is for Firefox) |
36 | `src/srt.js` | Reads .srt and .vtt; finds the cue for a moment. No browser APIs, so Node tests it |
37 | `src/content.js`, `src/content.css` | The caption box, the **SR** button and the panel, inside `#movie_player` |
38 | `popup.html` | How to use it, and the links to the other apps |
39 | `tests/srt.test.cjs` | `node --test tests/srt.test.cjs` |
40 | `tests/more-apps.test.cjs` | `node --test tests/more-apps.test.cjs` |
41 | `tests/mock/server.py` | A stand-in for a watch page, to try the content script by hand |
42 | `tools/pack.py` | Makes `dist/subread-chrome.zip` and `dist/subread-firefox.zip` |
43 | `tools/graphics.py` | Makes the Chrome promo tiles in `store/graphics/` |
44 | `tools/shots/` | Takes the store screenshots in Brave over CDP |
45 | `store/listing.md` | The texts and answers for the two stores |
46 
47 ## Try it
48 
49 Chrome: `chrome://extensions` > Developer mode > Load unpacked > this folder.
50 Firefox: `about:debugging` > This Firefox > Load Temporary Add-on > `manifest.json`.
51 
52 ## More projects
53 
54 - [SubRead](https://subread.space/): read along with an audiobook, in the browser.
55   Also [for Android](https://github.com/equwal/subread-android/releases/latest),
56   [for YouTube](https://github.com/equwal/subread-extension/releases/latest)
57   and [for KOReader](https://github.com/equwal/subread.koplugin).
58 - [SubRead Overlay](https://github.com/equwal/subread-overlay/releases/latest): subtitle lines over any Android media player.
59 - [SubRead Dictionary](https://github.com/equwal/subread-dictionary/releases/latest): a pop-up dictionary for Android that reads Yomitan dictionaries.
60 - [SubRead Anki](https://github.com/equwal/subread-anki): one tap makes an Anki card from any Android app.
61 - [Subrep](https://github.com/equwal/subrep-android/releases/latest): live captions of the sound of your phone.
62 - [Book Simulator](https://booksimulator.com/): a reading room for Aozora Bunko and Project Gutenberg books.
63 - [honjimaku.com](https://honjimaku.com/): subtitles for Japanese audiobooks.
64 - [sbm Sync](https://sbmsync.com/): your bookmarks, the same on every device,
65   with [sbm](https://github.com/equwal/sbm) for dmenu,
66   [sbm for Android](https://github.com/equwal/sbm-android/releases/latest)
67   and the [sbm add-on](https://github.com/equwal/sbm-extension/releases/latest) for Firefox and Chrome.
68 - [Rebind](https://github.com/equwal/rebind/releases): remap the hardware buttons of e-ink readers and Android,
69   with [Ink Recents](https://github.com/equwal/ink-recents/releases/latest),
70   [Ink Dim](https://github.com/equwal/ink-dim/releases/latest)
71   and [Ink Update](https://github.com/equwal/ink-update/releases/latest).
72 - [dickt.store](https://dickt.store/): language-learning tools, flashcards and web toys.
73 - [hentaibun.online](https://hentaibun.online/): learn kanbun and kobun.
74 - [Recently Written](https://recentlywritten.com/): the blog, and a list of [all projects](https://recentlywritten.com/projects.html).
75 
76 ## Licence
77 
78 AGPL-3.0: see `LICENSE`.