What can do:
- Watch local, remote and living media (danmaku support for some)
- Manage playlist with EMMS, and control playing with MiniBuffer
- Integrate Download/Clip/Screenshot/OCR videos and so on
- Integrated with Org Mode, make taking video-notes easily
- Make MPV player in EMMS support Windows
I just wrote this for fun. Now release it for the ones who need it.
- It's based on EMMS, make sure it is installed
- Download and load this package
(require 'mpvi)
- Install mpv and yt-dlp, they are the main dependencies.
- [Optional] Install dependencies you need:
- ffmpeg, used to clip video
- tesseract, used to OCR
- danmaku2ass, danmaku file converter, used when watching bilibili.com
- seam, living video extractor, used when watching some live sites
For Arch Linux User, all dependencies with one command:
yay -S mpv ffmpeg yt-dlp tesseract xclip danmaku2ass-git seam-git
Windows User can install dependencies with winget
or scoop
:
winget install mpv yt-dlp ffmpeg Tesseract-OCR
Core commands:
mpvi-open
, open video (local or remote) with MPVmpvi-seek
, control opened MPV with minibuffermpvi-insert
, insert timestamp link of video to current org buffermpvi-clip
, download & clip & transcode videos via ffmepg/ytdlpmpvi-emms-add
, add video link/file to EMMS playlist
Command mpvi-seek
is the most frequently used one. It integrates many functions through minibuffer:
i
Insert timestamp link into current bufferSpace
Toggle play and pausej/k/l
Change the playback speedn/p/N/P/M-n/M-p/C-l
Seek to any position smartlys/C-s/C-i
Multiple ways to take screenshotsr/C-r
OCR recognition of the current playback screent/C-t
Copy subtitle of the current playback screenc/C-c
Download/clip/transcode current playing videov/C-v
Switch playlist/categoryo/C-o
Switch to system program (for example, browser) to continue the playingq/C-q
quit minibuffer
Timestamp link is link of format [mpv:https://xxx.com#10-30]
. It's clickable and responses below shortcuts when cursor on it:
, ,
Play video in current link, s
Entermpvi-seek
interface, a
Change the start time in current link, b
Change the end time in current link, v
Preview the screenshot of current time position in current link, c
Video download, transcode, clip and so on, ALL IN ONE.
Look the keymap definitions for more:
mpvi-open-map
mpvi-seek-map
mpvi-org-link-map
Thanks to similar projects in the community, you teach me a lot and give me so much inspiration.
Thanks to open source software like MPV/FFMPEG/EMACS, you make the world more wonderful.
Finally, thanks to all the platforms and authors who contributed great videos, you guys make me happier and more powerful. :)