mpv-easy
v0.1.15-alpha.17
Published
TS and React toolkit for mpv script
Readme
mpv-easy
TS and React toolkit for mpv script

install
CONTRIBUTING
dev
bash
export MPV_CONFIG_DIR=/your_mpv_dir/portable_config/scripts && pnpm run dev-copyfish
set -x MPV_CONFIG_DIR /your_mpv_dir/portable_config/scripts ; pnpm run dev-copyscripts
short key
| key | command | | ---------- | ------------------------------------ | | ENTER | cycle fullscreen | | [ | script-message change-speed -0.25 | | ] | script-message change-speed +0.25 | | c | script-message cut | | C | script-message crop | | o | script-message output | | g | script-message output-gif | | p | script-message preview | | ESC | script-message cancel | | UP | script-message change-volume +10 | | DOWN | script-message change-volume -10 | | ctrl+UP | script-message change-fontSize +0.25 | | ctrl+DOWN | script-message change-fontSize -0.25 | | ctrl+o | script-message open-dialog | | ctrl+t | script-message translate | | ctrl+i | script-message interactive-translate | | ctrl+T | script-message mix-translate | | CTRL+0 | script-message Anime4K-Clear | | CTRL+1 | script-message Anime4K-AA-HQ | | CTRL+2 | script-message Anime4K-B-HQ | | CTRL+3 | script-message Anime4K-C-HQ | | CTRL+4 | script-message Anime4K-A-HQ | | CTRL+5 | script-message Anime4K-BB-HQ | | CTRL+6 | script-message Anime4K-CA-HQ | | CTRL+v | script-message clipboard-play | | CTRL+c | script-message copy-screen | | CTRL+C | script-message copy-time | | CTRL+F1 | script-message toggle-tooltip | | MOUSE_BTN0 | script-message mouse-left-click | | MOUSE_BTN1 | script-message mouse-mid-click | | MOUSE_BTN2 | script-message mouse-right-click | | MOUSE_BTN3 | script-message mouse-wheel-up | | MOUSE_BTN4 | script-message mouse-wheel-down |
blogs
- the easiest way to use anime4k in mpv
- how to share video subtitles
- maybe the simplest way to install mpv
- mpv quick start
- make video clips with mpv-easy
- mount any playable link
- mpv-build: Customize your own MPV right from your browser
- Revolutionizing mpv Scripting: A New Package Format Proposal
- Introduction to MPV Shaders
- mpv-easy-piano: Can You Guess the Song?
- Running v8-v7 Benchmarks in mpv Player
UI
uosc
osc
oscx
example
drag-ball

snake

i18n

counter-ui

config
mouseHoverStyle
Only supports Windows, requires installation of PowerShell to enable script execution permissions
set-executionpolicy remotesigned
quick start
env
| name | description | | ------------- | --------------------------------------------------------------- | | SHOW_FPS | Determines whether FPS information is displayed. | | MAX_FPS_FRAME | Specifies the number of recent frames used for FPS calculation. | | FRAME_LIMIT | Exit the player after rendering the specified number of frames. |
Q&A
mujs stack overflow
If your code throw a stack overflow error with mujs, you need to use the babel plugin hack.js . It adds a function variable at the beginning of all functions to expand the stack size. Alternatively, you can use a custom compiled version of mujs and mpv, change mujs JS_STACKSIZE
fixed: Increase default stack sizes.
- #define JS_STACKSIZE 256 /* value stack size */
+ #define JS_STACKSIZE 1024 /* value stack size */perf
Maybe should use GitHub action to automatically update this
| js engine | first render | average | js file size | | ----------- | :----------: | ------: | -----------: | | qjs | 358ms | 3.58ms | 1.4M | | qjs+minify | 334ms | 3.42ms | 300K | | mujs+es5 | 402 ms | 14.05ms | 1.1M | | deno | 291 ms | 0.23ms | 1.4M | | deno+minify | 464 ms | 0.23ms | 306K | | boa+es6 | 400 ms | 21.88ms | 1.2M |
changlog
todo
- [ ] flex (30%)
- [ ] grid
- [ ] logo
- [ ] bilibili
- [ ] youtube
- [ ] animation
- [ ] es2022
- [ ] test
- [ ] mpv prop type
- [ ] plugin system
- [ ] menu system
- [ ] CI snapshot test
- [ ] font rem
- [ ] node console
- [ ] es/cjs plugin module
- [ ] real-time subtitle translation
- [ ] sourcemap
