summaryrefslogtreecommitdiff
path: root/config/mpv/scripts/subs2srsa/README.md
diff options
context:
space:
mode:
authornavewindre <boneyaard@gmail.com>2025-04-05 03:00:29 +0200
committernavewindre <boneyaard@gmail.com>2025-04-05 03:00:29 +0200
commitd6c4365b8de32b621ac46074a9b69908b95686c0 (patch)
tree495cb5b1aa7e68ab6ec07fa5fb09904a8c7e47e7 /config/mpv/scripts/subs2srsa/README.md
parentb24463f3d045783b8f4e72926054d53b908e150f (diff)
a
Diffstat (limited to 'config/mpv/scripts/subs2srsa/README.md')
-rw-r--r--config/mpv/scripts/subs2srsa/README.md478
1 files changed, 0 insertions, 478 deletions
diff --git a/config/mpv/scripts/subs2srsa/README.md b/config/mpv/scripts/subs2srsa/README.md
deleted file mode 100644
index deefe3c..0000000
--- a/config/mpv/scripts/subs2srsa/README.md
+++ /dev/null
@@ -1,478 +0,0 @@
-<p align="center">
-<img src="https://user-images.githubusercontent.com/69171671/117440218-4ae26800-af23-11eb-87b4-1d9026fc953f.png"/>
-</p>
-
-# mpvacious
-
-[![AUR](https://img.shields.io/badge/AUR-install-blue.svg)](https://aur.archlinux.org/packages/mpv-mpvacious/)
-[![Chat](https://img.shields.io/badge/chat-join-green.svg)](https://tatsumoto-ren.github.io/blog/join-our-community.html)
-![GitHub](https://img.shields.io/github/license/Ajatt-Tools/mpvacious)
-[![Donate](https://img.shields.io/badge/support-developer-orange)](https://tatsumoto.neocities.org/blog/donating-to-tatsumoto.html)
-
-mpvacious is your semi-automatic subs2srs for mpv.
-It supports multiple workflows and allows you to quickly create Anki cards
-while watching your favorite TV show.
-**[Video demonstration](https://redirect.invidious.io/watch?v=vU85ramvyo4)**.
-
-## Requirements
-
-<table>
-<tr>
- <th><a href="https://www.gnu.org/gnu/about-gnu.html">GNU/Linux</a></th>
- <th><a href="https://www.gnu.org/proprietary/malware-microsoft.en.html">Windows 10+</a></th>
- <th><a href="https://www.gnu.org/proprietary/malware-apple.en.html">macOS</a></th>
- <th>Comments</th>
-</tr>
-<tr>
- <td><a href="https://wiki.archlinux.org/index.php/Mpv">mpv</a></td>
- <td><a href="https://sourceforge.net/projects/mpv-player-windows/files">mpv</a></td>
- <td><a href="https://mpv.io/installation/">mpv</a></td>
- <td>v0.32.0 or newer.</td>
-</tr>
-<tr>
- <td><a href="https://wiki.archlinux.org/index.php/Anki">Anki</a></td>
- <td colspan="2" align="center"><a href="https://apps.ankiweb.net/">Anki</a></td>
- <td></td>
-</tr>
-<tr>
- <td colspan="3" align="center"><a href="https://ankiweb.net/shared/info/2055492159">AnkiConnect</a></td>
- <td>Install from AnkiWeb.</td>
-</tr>
-<tr>
- <td><a href="https://www.archlinux.org/packages/core/x86_64/curl/">curl</a></td>
- <td colspan="2" align="center"><a href="https://curl.haxx.se/">curl</a></td>
- <td>Installed by default on all platforms except Windows 7.</td>
-</tr>
-<tr>
- <td><a href="https://www.archlinux.org/packages/extra/x86_64/xclip/">xclip</a> or <a href="https://archlinux.org/packages/extra/x86_64/wl-clipboard">wl-copy</a></td>
- <td></td>
- <td>pbcopy</td>
- <td>To copy subtitle text to clipboard.</td>
-</tr>
-</table>
-
-Install all dependencies at once (on [Arch-based](https://www.parabola.nu/)
-[distros](https://www.gnu.org/distros/free-distros.en.html)):
-
-```
-$ sudo pacman -Syu mpv anki curl xclip --needed
-```
-
-## Prerequisites
-
-* A guide on how to set up Anki can be found [on our site](https://tatsumoto.neocities.org/blog/setting-up-anki.html).
-* If you're on a [Windows](https://www.fsf.org/windows) or a [Windows-like](https://reactos.org/) machine,
- a mpv build by `shinchiro` is recommended.
-* **macOS** users are advised to use [homebrew](https://brew.sh/) or manually add `mpv` to `PATH`.
-* Note that it is not recommended to use FlatPak or similar containers.
- If you still want to, [read this](howto/flatpak.md).
-* Make sure that your build of mpv supports encoding of audio and images.
- This shell command can be used to test it.
-
- ```
- $ mpv 'test_video.mkv' --loop-file=no --frames=1 -o='test_image.jpg'
- ```
-
- If the command fails, find a compatible build on the [mpv website](https://mpv.io/installation/)
- or instead install FFmpeg and [enable FFmpeg support](#configuration) in `mpvacious`'s config file.
-* Most problems with adding audio or images to Anki cards can be fixed
- by installing FFmpeg and enabling it settings.
-
-## Installation
-
-There are multiple ways you can install `mpvacious`.
-I recommend installing with `git` so that you can easily update on demand.
-
-`mpvacious` is a user-script for mpv,
-so it has to be installed in the directory `mpv` reads its user-scripts from.
-
-| OS | Location |
-|-----------|--------------------------------------------------|
-| GNU/Linux | `~/.config/mpv/scripts/` |
-| Windows | `C:/Users/Username/AppData/Roaming/mpv/scripts/` |
-
-Windows is not recommended,
-but we acknowledge that some people haven't switched to GNU/Linux yet.
-
-### Using git
-
-Clone the repo to the `scripts` directory.
-
-```
-mkdir -p ~/.config/mpv/scripts/
-git clone 'https://github.com/Ajatt-Tools/mpvacious.git' ~/.config/mpv/scripts/subs2srs
-```
-
-To update, run the following command.
-
-```
-cd ~/.config/mpv/scripts/subs2srs && git pull
-```
-
-### From the AUR
-
-`mpvacious` can be installed with the [mpv-mpvacious](https://aur.archlinux.org/packages/mpv-mpvacious/) package.
-
-### Manually
-
-This way is not recommended because it's easy to make a mistake during the process
-and end up with a broken install.
-
-Download
-[the repository](https://github.com/Ajatt-Tools/mpvacious/archive/refs/heads/master.zip)
-or
-[the latest release](https://github.com/Ajatt-Tools/mpvacious/releases)
-and extract the folder containing
-[subs2srs.lua](https://raw.githubusercontent.com/Ajatt-Tools/mpvacious/master/subs2srs.lua)
-to your [mpv scripts](https://github.com/mpv-player/mpv/wiki/User-Scripts) directory.
-
-<details>
-
-<summary>Expected directory tree</summary>
-
-```
-~/.config/mpv/scripts
-|-- other script 1
-|-- other script 2
-|-- subs2srs
-| |-- main.lua
-| |-- subs2srs.lua
-| `-- other files
-`-- other script 3
-```
-
-</details>
-
-<details>
-
-<summary>A note for mpv v0.32 and older</summary>
-
-Older versions of `mpv` don't know how to handle user-scripts in subdirectories.
-You need to tell mpv where to look for `mpvacious`.
-
-Open or create `~/.config/mpv/scripts/modules.lua` and add these lines:
-```
-local mpv_scripts_dir_path = os.getenv("HOME") .. "/.config/mpv/scripts/"
-package.path = package.path .. ';' .. os.getenv("HOME") .. '/.config/mpv/scripts/subs2srs/?.lua'
-function load(relative_path) dofile(mpv_scripts_dir_path .. relative_path) end
-load("subs2srs/subs2srs.lua")
-```
-
-</details>
-
-**Note:** in [Celluloid](https://www.archlinux.org/packages/community/x86_64/celluloid/)
-user scripts are installed in `/.config/celluloid/scripts/`.
-When following the instructions above, replace `.config/mpv` with `.config/celluloid`
-and optionally `subs2srs` with the name of the folder mpvacious is cloned into.
-
-## Configuration
-
-The config file should be created by the user, if needed.
-
-| OS | Config location |
-|--------------------|-------------------------------------------------------------------|
-| GNU/Linux | `~/.config/mpv/script-opts/subs2srs.conf` |
-| Windows | `C:/Users/Username/AppData/Roaming/mpv/script-opts/subs2srs.conf` |
-| Windows (portable) | `mpv.exeフォルダ/portable_config/script-opts/subs2srs.conf` |
-
-If a parameter is not specified
-in the config file, the default value will be used.
-mpv doesn't tolerate spaces before and after `=`.
-
-<p align="center">
- <a href="https://github.com/Ajatt-Tools/mpvacious/blob/master/.github/RELEASE/subs2srs.conf">Example configuration file</a>
-</p>
-
-If the first field is empty, it will be set contain the string `[empty]`.
-Otherwise, Anki won't allow mpvacious to add new notes.
-This won't happen if the sentence field is first in the note type settings.
-
-**Tip**: Try [our official note type](https://ankiweb.net/shared/info/1557722832)
-if you don't want to configure note fields yourself.
-Alternatively, we have a collection of user-created note types, which you can browse
-[here](https://github.com/Ajatt-Tools/AnkiNoteTypes).
-
-If you are having problems playing media files on older mobile devices,
-set `audio_format` to `mp3` and/or `snapshot_format` to `jpg`.
-Otherwise, I recommend sticking with `opus` for audio,
-and `avif` or `webp` for images,
-as they greatly reduce the size of the generated files.
-
-If you still use AnkiMobile (the [proprietary](https://www.gnu.org/proprietary/) Anki app),
-set `opus_container` to `m4a` or `webm`. I'll allow iOS to play Opus files, while still maintaining
-compatibility with non-Apple devices. For really old iOS devices, set `opus_container` to
-[`caf`](https://en.wikipedia.org/wiki/Core_Audio_Format). CAF plays only on Anki Desktop,
-AnkiWeb in Safari and AnkiMobile, and is really not recommended. (Please note that
-[Lockdown Mode](https://support.apple.com/en-us/105120) completely disables Opus and AVIF support,
-though you may try to add an exception for AnkiMobile.)
-
-If no matter what mpvacious fails to create audio clips and/or snapshots,
-change `use_ffmpeg` to `yes`.
-By using ffmpeg instead of the encoder built in mpv you can work around most encoder issues.
-You need to have ffmpeg installed for this to work.
-
-### Key bindings
-
-The user may change some global key bindings, though this step is not necessary.
-See [Usage](#usage) for the explanation of what they do.
-
-| OS | Config location |
-|-----------|----------------------------------------------------|
-| GNU/Linux | `~/.config/mpv/input.conf` |
-| Windows | `C:/Users/Username/AppData/Roaming/mpv/input.conf` |
-
-Default bindings:
-
-```
-a script-binding mpvacious-menu-open
-
-Ctrl+g script-binding mpvacious-animated-snapshot-toggle
-
-Ctrl+n script-binding mpvacious-export-note
-
-Ctrl+m script-binding mpvacious-update-last-note
-Ctrl+M script-binding mpvacious-overwrite-last-note
-
-g script-binding mpvacious-quick-card-menu-open
-Alt+g script-binding mpvacious-quick-card-sel-menu-open
-
-Ctrl+c script-binding mpvacious-copy-primary-sub-to-clipboard
-Ctrl+C script-binding mpvacious-copy-secondary-sub-to-clipboard
-Ctrl+t script-binding mpvacious-autocopy-toggle
-
-H script-binding mpvacious-sub-seek-back
-L script-binding mpvacious-sub-seek-forward
-
-Alt+h script-binding mpvacious-sub-seek-back-pause
-Alt+l script-binding mpvacious-sub-seek-forward-pause
-
-Ctrl+h script-binding mpvacious-sub-rewind
-Ctrl+H script-binding mpvacious-sub-replay
-Ctrl+L script-binding mpvacious-sub-play-up-to-next
-
-Ctrl+v script-binding mpvacious-secondary-sid-toggle
-Ctrl+k script-binding mpvacious-secondary-sid-prev
-Ctrl+j script-binding mpvacious-secondary-sid-next
-```
-
-**Note:** A capital letter means that you need to press Shift in order to activate the corresponding binding.
-For example, <kbd>Ctrl+M</kbd> actually means <kbd>Ctrl+Shift+m</kbd>.
-mpv accepts both variants in `input.conf`.
-
-## Usage
-
-* [Create a card](howto/create_card.md)
-* [Quick card creation](howto/create_quick_card.md)
-* [Open the "Add" dialog](howto/add_dialog.md)
-* [Usage with Rikaitan](howto/yomichan.md)
-* [Usage with GoldenDict](howto/goldendict.md)
-
-### Global bindings
-
-**Menu:**
-
-* <kbd>a</kbd> - Open `advanced menu`.
-
-**Enable\Disable animation:**
-
-* <kbd>Ctrl+g</kbd> - If animation is enabled, animated snapshots will be generated instead of static images.
- Animated snapshot are like GIFs (just in a different format)
- and will capture the video from the start to the end times selected.
-
-**Make a card:**
-
-* <kbd>Ctrl+n</kbd> - Export a card with the currently visible subtitle line on the front.
-Use this when your subs are well-timed,
-and the target sentence doesn't span multiple subs.
-
-**Quick card creation:**
-
-* <kbd>g</kbd> - Quick card creation menu.
-* <kbd>Alt+g</kbd> - Quick card creation, card selection menu.
-
-**Update the last card:**
-
-* <kbd>Ctrl+m</kbd> - Append to the media fields of the newly added Anki card.
-* <kbd>Ctrl+Shift+m</kbd> - Overwrite media fields of the newly added Anki card.
-
-**Clipboard:**
-
-* <kbd>Ctrl+c</kbd> - Copy current subtitle string to the system clipboard.
-* <kbd>Ctrl+t</kbd> - Toggle automatic copying of subtitles to the clipboard.
-
-**Seeking:**
-
-* <kbd>Shift+h</kbd> and <kbd>Shift+l</kbd> - Seek to the previous or the next subtitle.
-* <kbd>Alt+h</kbd> and <kbd>Alt+l</kbd> - Seek to the previous, or the next subtitle, and pause.
-* <kbd>Ctrl+h</kbd> - Seek to the start of the currently visible subtitle. Use it if you missed something.
-* <kbd>Ctrl+Shift+h</kbd> - Replay current subtitle line, and pause.
-* <kbd>Ctrl+Shift+l</kbd> - Play until the end of the next subtitle, and pause. Useful for beginners who need
- to look up words in each and every dialogue line.
-
-**Secondary subtitles:**
-
-* <kbd>Ctrl+v</kbd> - Toggle visibility.
-* <kbd>Ctrl+k</kbd> - Switch to the previous subtitle if it's not already selected.
-* <kbd>Ctrl+j</kbd> - Switch to the next subtitle if it's not already selected.
-
-### Menu options
-
-Advanced menu has the following options:
-
-* <kbd>f</kbd> - Increment number of cards to update. Only affects note updating, including quick card creation. The number of cards to update is reset to 1 upon updating a note.
-* <kbd>shift+f</kbd> - Decrement number of cards to update.
-
-* <kbd>c</kbd> - Interactive subtitle selection.
- The range of the currently displayed subtitle line is selected. The selection then grows both ways based on the following displayed lines.
- It does nothing if there are no subs on screen.
-
-* <kbd>shift+s</kbd> - Set the start time to the current sub. The selection then grows forward based on the following displayed lines.
- The default selection spans across the range of the currently displayed subtitle line.
-* <kbd>shift+e</kbd> - Set the end time to the current sub. The selection then grows backward based on the following displayed lines.
- The default selection spans across the range of the currently displayed subtitle line.
-
-Then seek with <kbd>Shift+h</kbd> and <kbd>Shift+l</kbd> to the previous/next line that you want to add.
-Press <kbd>n</kbd> to make the card.
-
-* <kbd>r</kbd> - Forget all previously saved timings and associated dialogs.
-
-* <kbd>z</kbd> and <kbd>Shift+z</kbd> - Adjust subtitle delay.
-
-If above fails, you have to manually set timings.
-* <kbd>s</kbd> - Set the start time. The selection then grows forward based on the following displayed lines.
-The default selection spans across the selected start point and the end of the subtitle line.
-* <kbd>e</kbd> - Set the end time. The selection then grows backward based on the following displayed lines.
-The default selection spans across the selected end point and the start of the subtitle line.
-
-Then, as earlier, press <kbd>n</kbd> to make the card.
-
-**Tip**: change playback speed by pressing <kbd>[</kbd> and <kbd>]</kbd>
-to precisely mark start and end of the phrase.
-
-### My subtitles are not in sync
-
-If subs are badly timed, first, you could try to re-time them.
-Read [Retiming subtitles](https://tatsumoto.neocities.org/blog/retiming-subtitles).
-Or shift timings using key bindings provided by mpv (usually <kbd>z</kbd> and <kbd>Shift+z</kbd>).
-
-### Example sentence card
-
-With the addon you can make cards like this in just a few seconds.
-
-![card-example](https://user-images.githubusercontent.com/69171671/92900057-e102d480-f40e-11ea-8cfc-b00848ca66ff.png)
-
-### Audio cards
-
-It is possible to make a card with just audio, and a picture
-when subtitles for the show you are watching aren't available, for example.
-mpv by default allows you to do a `1` second exact seek by pressing <kbd>Shift+LEFT</kbd> and <kbd>Shift+RIGHT</kbd>.
-Open the mpvacious menu by pressing <kbd>a</kbd>, seek to the position you need, and set the timings.
-Then press <kbd>g</kbd> to invoke the `Add Cards` dialog.
-Here's a [video demonstration](https://redirect.invidious.io/watch?v=BXhyckdHPGE).
-
-If the show is hard-subbed, you can use
-[transformers-ocr](https://tatsumoto.neocities.org/blog/mining-from-manga.html)
-to recognize and add text to the card.
-
-### Secondary subtitles
-
-If you want to add a translation to your cards, and you have the subtitles in that language,
-you can add them as secondary subtitles if you run `mpv` with `--secondary-sid=<sid>` parameter,
-`sid` being the track identifier for the subtitle.
-
-You also need to specify `secondary_field` in the [config file](#Configuration)
-if it is different from the default.
-
-If you want to load secondary subtitles **automatically**, don't modify the run parameters
-and instead set the desired languages in the config file (`secondary_sub_lang` option).
-
-Secondary subtitles will be visible when hovering over the top part of the `mpv` window.
-
-https://user-images.githubusercontent.com/69171671/188492261-909ba3e8-b82c-493f-88cf-0ec953dfcfe1.mp4
-
-By pressing <kbd>Ctrl</kbd>+<kbd>v</kbd> you can control secondary sid visibility without using the mouse.
-
-### Other tools
-
-If you don't like the default Rikaitan Search tool, try:
-
-* Clipboard Inserter browser add-on
-([chrome](https://chrome.google.com/webstore/detail/clipboard-inserter/deahejllghicakhplliloeheabddjajm))
-([firefox](https://addons.mozilla.org/ja/firefox/addon/clipboard-inserter/))
-* A html page ([1](https://pastebin.com/zDY6s3NK)) ([2](https://pastebin.com/hZ4sawL4))
-to paste the contents of your clipboard to
-
-You can use any html page as long as it has \<body\>\</body\> in it.
-
-### Additional mpv key bindings
-
-I recommend adding these lines to your [input.conf](#key-bindings) for smoother experience.
-```
-# vim-like seeking
-l seek 5
-h seek -5
-j seek -60
-k seek 60
-
-# Cycle between subtitle files
-K cycle sub
-J cycle sub down
-
-# Add/subtract 50 ms delay from subs
-Z add sub-delay +0.05
-z add sub-delay -0.05
-
-# Adjust timing to previous/next subtitle
-X sub-step 1
-x sub-step -1
-```
-
-## Profiles
-
-Mpvacious supports config profiles.
-To make use of them, create a new config file called `subs2srs_profiles.conf`
-in the same folder as your [subs2srs.conf](#Configuration).
-Inside the file, define available profile names (without `.conf`) and the name of the active profile:
-
-```
-profiles=subs2srs,english,german
-active=subs2srs
-```
-
-In the example above, I have three profiles.
-The first one is the default,
-the second one is for learning English,
-the third one is for learning German.
-
-Then in the same folder create config files for each of the defined profiles.
-For example, below is the contents of my `english.conf` file:
-
-```
-deck_name=English sentence mining
-model_name=General
-sentence_field=Question
-audio_field=Audio
-image_field=Extra
-```
-
-You don't have to redefine all settings in the new profile.
-Specify only the ones you want to be different from the default.
-
-To cycle profiles, open the advanced menu by pressing <kbd>a</kbd> and then press <kbd>p</kbd>.
-At any time you can see what profile is active in the menu's status bar.
-
-## Hacking
-
-If you want to modify this script
-or make an entirely new one from scratch,
-these links may help.
-
-* https://mpv.io/manual/master/#lua-scripting
-* https://github.com/mpv-player/mpv/blob/master/player/lua/defaults.lua
-* https://github.com/SenneH/mpv2anki
-* https://github.com/kelciour/mpv-scripts/blob/master/subs2srs.lua
-* https://pastebin.com/M2gBksHT
-* https://pastebin.com/NBudhMUk
-* https://pastebin.com/W5YV1A9q
-* https://github.com/ayuryshev/subs2srs
-* https://github.com/erjiang/subs2srs