YuzuLingo vs hardsub (torre76)
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no video file to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
hardsub is torre76’s Python script in the repo hardsub. The command is hs. It runs on Linux only. You put a local video and an SRT with the same file name in one folder, and it writes a new file with those subtitles burned into the picture and the audio kept. mencoder burns the SRT. AVI also needs mplayer and ffmpeg. MPEG-4 also needs MP4Box and mp4info. Matroska also needs mkvmerge and mkvextract. The code accepts AVI, Matroska, and files whose type reads as MPEG v4. The ISO Media signatures for other MP4 files are commented out, so those files are skipped. For MPEG-4 and Matroska, a comment in the code says audio types other than AAC are not fully handled. The README says the subtitle size runs from 1 to 4. The code’s default scale is 2.5, and its help text says 1 to 100. The installation section is still blank. The script says version 0.0.1, alpha, and GPL v.3. GitHub does not list a license file. The last commit was in November 2013. There is no GitHub release. It does not read a line that is already burned in, and it does not cover a web video while it plays.
Where each one fits
| Feature | YuzuLingo | hardsub |
|---|---|---|
| Install in the browser, no Python project to set up | ||
| No video file to download | ||
| Cover burned-in subs while a web video plays | ||
| Read that burned-in line while the web video plays, on your device | ||
| Readings on that line (furigana, pinyin, IPA…) | ||
| Show that text always, on hover, or while you hold a hotkey | ||
| Burn a matching SRT into a new local video and keep the audio | ||
| Batch every video in a folder that has a matching SRT | ||
| Set how large the burned-in text is | ||
| Add the line to an Anki deck |

