Get iVault
iVault runs on Windows 10 (version 1809 or later) and Windows 11, on x64 and Arm64 PCs. Two ways to install it:
- Microsoft Store: search for iVaultkh. No warning on first run, and it updates itself.
- Direct installer: press the button on the Download page; it picks x64 or Arm64 for your PC. The installer isn't code-signed yet, so SmartScreen warns the first time: click More info, then Run anyway.
Run the installer and open iVault from the Start menu.
First launch
The first time iVault opens, a short setup walks through Welcome, FFmpeg, Storage, Catalog and Finish. Follow it along with steps C to F below, or press Skip setup and do the same later from the Settings and Storage screens.
To see it again: Settings → General → Run setup again. Nothing is reset.
Want iVault to ask for a password when it opens? Turn on Settings → General → Privacy → Lock iVault with a password and choose one. It is off unless you turn it on. Ctrl+L locks the window; Forgot password? on the lock screen turns the lock off. The lock hides the window only; it does not encrypt your files.
Install FFmpeg
iVault converts video with FFmpeg, which is free but not bundled.
- Open Settings → Conversion and press Open gyan.dev (or go to gyan.dev/ffmpeg/builds).
- Download the release essentials zip and unzip it somewhere permanent, such as
C:\ffmpeg. - Next to FFmpeg folder press Choose… and pick the
binfolder, the one that holdsffmpeg.exeandffprobe.exe.
The status turns to Found. Still “Not found”? See the FFmpeg checklist.
Choose a storage
iVault uploads to storage you already own; the stream link points there. Pick one to start, and add more later.
| Storage | Good for | Keep in mind |
|---|---|---|
| Cloudflare R2, Amazon S3, MinIO | Public streaming. The recommended choice. | The bucket needs a public URL. |
| GitHub served by jsDelivr | Free hosting for small episodes. | 20 MB per file; needs git installed and a token that can push. |
| Telegram | Free, with just a bot and a channel. | One quality per video, about 20 files a minute, 20 MB per file. |
| Local folder or NAS | Your own web server. | The public URL must really serve that folder. |
| WebDAV | Nextcloud, ownCloud, a NAS. | Use https:// outside your own network. |
| Google Drive, OneDrive | An archive or a small audience. | Advanced: needs your own app registration and an edge Worker. |
Connect it
On the Storage screen press Add storage, choose the kind, give it a Name and fill in its fields. Each kind has its own walkthrough on the Help page: R2 / S3 / MinIO, GitHub, Telegram, Local / NAS, WebDAV, Google Drive, OneDrive.
Keys, passwords and tokens go to your computer's keychain (Windows Credential Manager), never to iVault's database.
A GitHub token that can push
GitHub is the one people most often get half right: a token that can read the repository is not enough, iVault has to push to it.
- On github.com open Settings → Developer settings → Personal access tokens.
- Fine-grained token (recommended): Generate new token. Under Repository access choose Only select repositories and pick your video repository. Under Permissions → Repository permissions set Contents to Read and write. Generate it and copy it.
- Classic token (the alternative): Generate new token (classic), tick the repo scope, generate and copy it.
- In iVault, choose HTTPS token under Authentication and paste the token into Personal access token.
On Windows, GitHub also needs Git for Windows installed.
Test it
Saving tests the storage, and you can press Test on its card at any time. Connected means iVault could write there; for GitHub that includes a dry-run push, which changes nothing in the repository. A failed test says why, for example a key without write access, and videos already uploaded keep playing.
Use Set as default in the card's ⋯ menu to choose where new videos go.
Convert a video
- Press New Video (Ctrl N), or drop video files anywhere on the window.
- Source: add files and give each a Title. Series, episode, subtitles and poster are optional.
- Quality: keep the sizes you want, 360p to 1080p. Sizes taller than your source are skipped; iVault never upscales.
- Storage: choose where it goes.
- Review: press Convert & upload.
It accepts mp4, mkv, mov, avi, webm, m4v and ts, and produces HLS (H.264 and AAC).
Follow the progress
You can leave the New Video screen as soon as the videos are queued; the work shows on the Dashboard and Library. Each video goes Queued → Analysing → Converting → Uploading → Verifying → Ready.
- Pause, Resume and Stop are in the video's ⋯ menu in the Library.
- Several at once: Settings → Conversion → Convert at once. For speed, set Encoding effort to Fast.
- Quitting while converting asks first. Uploads carry on next time; a conversion that was running starts again.
Subtitles and thumbnails
You can add them while converting, or afterwards from the video's ⋯ menu:
- Add subtitles…: pick a language, then its .srt, .vtt or .txt file; repeat for each language. The same dialog removes a language.
- Upload thumbnail…: a jpg, png or webp poster.
On R2, S3, GitHub, a NAS or WebDAV the link stays the same. On Telegram a subtitle change gives the video a new link: copy it again and re-export your catalog. On Google Drive and OneDrive, changing a finished video means Re-convert….
Series and catalog
Only needed if you publish to a wuxia-web site; skip it if you just want stream links.
- In Settings → Catalog, set your wuxia-web
dbfolder, and optionally a TMDB token and a Gemini key (where to get them). - On the Catalog screen press New series. Look up on TMDB fills in the poster and details; Translate to Khmer drafts the Khmer text. Review, then Save series.
- When converting, pick the series and episode in the file table.
- Open the series and press Export to wuxia-web. iVault writes the files in that folder; review them with
git diff, then commit and deploy your site as usual.
Whole seasons
Drop a whole season into New Video at once and set the series for all of them with Also use it for the other files in this batch. The Batches screen runs them in order and shows every episode's stage on one board, and you can pause or resume the whole batch.
When something fails
Open the failed video and read the card at the top.
- Failed while uploading or verifying: it says Your converted files are safe. Fix the cause, then press Resume: only what's missing is uploaded, nothing is converted again.
- Failed while reading or converting: check the file plays in a video player, then press Retry.
- “Permission to … denied” with a 403 on GitHub: the token can read but not push. Give it write access (step E), paste it again under Storage → Edit, press Test, then Resume.
Every message is explained under Error messages. Asking for help? Open the job's Logs tab, press Copy logs, remove any keys, and open an issue.
Another computer
Keys and tokens live in each computer's own keychain, so a second PC doesn't have them. On the new computer, add the storage again and paste the key or token. For GitHub, make sure it's a token that can push (step E), not an older read-only one, and press Test.
Stay up to date
The Store version updates itself. With the direct installer, download the new version from the Download page and run it over the old one; your library, storages and settings are kept. The changelog lists what each version changed, and Settings → About shows which one you have.