1. What this manual is for
This manual explains VoxFrame Subtitle Player from start to finish. It follows the current application surface: the main screen, player controls, every menu, settings, and the most important workflows for local video, IPTV, subtitles, transcription, translation, quality checks and account/cloud use.
The interface uses the word subtitle for normal subtitle files and tracks. This manual also uses caption for text displayed on screen during playback, especially in live IPTV workflows.
2. Starting the app
Start VoxFrame Subtitle Player through the supplied shortcut or launch command. After startup you see the empty player screen with the title VoxFrame Subtitle Player and the Open video button.
When no video is loaded yet, you can begin in three ways:
- Click
Open videoin the empty screen. - Click
Open videoin the player menu. - Drag a video file into the window.
The app currently accepts local video files with these extensions: .mp4, .mkv, .avi, .mov, .webm, .m4v and .ts.
For subtitles the app accepts .srt, .vtt, .webvtt, .ass and .ssa.
3. The main screen
The main screen is video-first. The video is central and the controls appear as an overlay. While watching, the controls hide automatically after a few seconds. Move the mouse, click or tap the window to show them again.
The top bar shows the video name or stream name. The bottom bar contains the timeline, time display, playback buttons, subtitle status and menus.
The main controls at the bottom are:
Progress slider: drag on the timeline to seek in a local video.Play/Pause: starts or pauses playback.Stop: stops playback and closes the current video in the player.Back 10 seconds: jumps 10 seconds back.Forward 10 seconds: jumps 10 seconds forward.Time: shows current position and total duration.Subtitle status: shows the active subtitle orNo subtitles.Stop current task: appears while AI/STT/translation tasks are running.Volume: opens the volume menu.CC: opens the subtitle-track menu.Captions toggle: turns captions on or off.Speed: opens playback speed choices.Player menu: opens the main actions.Fullscreen: toggles fullscreen.
4. Keyboard shortcuts
The app supports these shortcuts when a video is loaded:
Space: play/pause.Media Play/Pause: play/pause on keyboards with media keys.Left: 10 seconds back.Right: 10 seconds forward.Up: volume up by 5 percent.Down: volume down by 5 percent.F: toggle fullscreen.M: mute or unmute.C: toggle captions.Esc: closes open menus or settings first; in fullscreen it returns to the normal window.Ctrl+O: open video.
When no video is loaded yet, Ctrl+O still works. Other playback shortcuts wait until media is open.
5. Opening a local video
Use Open video to select a local video. You can also drag a video into the window. When the video opens:
- The app briefly shows a loading status.
- The video engine opens the file.
- The app checks whether previous settings for this video were saved.
- If there is no video memory and the source is local, the app searches for a sidecar subtitle next to the video file.
Sidecar subtitles are detected automatically when:
- the subtitle has the same base name as the video, for example
Movie.mkvandMovie.srt; or - there is exactly one usable subtitle file in the same folder.
If multiple loose subtitles are present and the app cannot safely pick one, it does not choose automatically. Load the correct file manually with Open subtitle.
6. Per-file video memory
VoxFrame remembers several choices per video. When you open the same video again, the app restores where possible:
- loaded subtitle path;
- subtitle delay;
- whether captions were on or off;
- selected subtitle language;
- selected translation target language;
- subtitle style preset;
- glossary/name-lock text;
- minimum match setting;
- last translation context, so quality check and bilingual review can still link source and translation.
Live transcript subtitles are not saved as normal restorable subtitles. If a live transcript path comes from the temporary live folder, it is skipped when the video is reopened.
7. Opening subtitles manually
Choose Open subtitle in the player menu to load a subtitle file. The app reads the file through the subtitle loader and loads it into the video engine.
After loading:
- the subtitle becomes visible if captions are enabled;
- the app tries to infer language from file name or track information;
- subtitle delay is reset to zero;
- sync analysis is recalculated;
- the choice is saved in video memory.
If the subtitle cannot be parsed, the app reports that the file could not be loaded.
9. Turning captions on and off
Use the captions toggle button or press C. Turning captions off does not unload the subtitle:
- playback continues;
- loaded subtitles remain available;
- only display is hidden;
- the choice is remembered per video.
When captions are turned on again, the app shows the last selected subtitle track or loaded subtitle.
10. Volume
Click the volume button to open the volume menu. You can drag the slider or use keyboard shortcuts.
M toggles mute. Up and Down adjust volume in steps of 5 percent.
11. Playback speed
Click Speed to choose playback speed. Current choices are:
0.75X1X1.25X1.5X2X
The app shows the current value on the speed button. Speed changes apply to the current player session.
12. Fullscreen
Use the fullscreen button or press F. In fullscreen, the player hides normal window chrome and keeps the video central.
Press Esc or F again to return to the normal window.
14. Smart Subtitle Assistant
Smart Subtitle Assistant is the recommended route for normal movies and episodes. The button combines Find best subtitle, Generate if missing, Translate and Fix sync into one flow.
The order is deliberately human-first:
- VoxFrame first checks embedded tracks and local sidecar subtitles.
- Then VoxFrame searches OpenSubtitles for human subtitles in the selected target language.
- If the selected language is missing, VoxFrame first tries to find an English human subtitle and translate it to the selected language.
- Only when no usable human source exists and generation is allowed does VoxFrame create a subtitle from the audio.
- Where possible, sync or quality steps follow so the subtitle fits the video better.
In the subtitle area you see source and confidence explanation. Examples are OpenSubtitles match, hash/release name, low match score, translated, AI generated, synced or quality-fixed. That makes clear why VoxFrame selected a subtitle and whether AI was needed.
Important: for local movies, changing language does not immediately start transcription. If there is no embedded or local SRT in the selected language, VoxFrame asks whether it may search. Then it uses OpenSubtitles and, if needed, translation from an English human subtitle. AI transcription is the last step, not the first.
15. Choosing target language
Use Choose language or the language chip in the subtitle area to select the subtitle target language. Quick chips usually show the current language plus NL, EN, DE and FR. The full list contains more languages.
Current subtitle target languages are:
NLDutchENEnglishDEGermanFRFrenchESSpanishITItalianPTPortuguesePLPolishTRTurkishARArabicSVSwedishNONorwegianDADanishFIFinnishRORomanianCSCzechHUHungarianELGreekRURussianUKUkrainianJAJapaneseKOKoreanZHChineseHIHindiIDIndonesian
The chosen language affects:
- OpenSubtitles search language;
- translation of loaded subtitles;
- live translate target language;
- preferred output for batch translate;
- video memory for this video.
If you change language during a local movie, VoxFrame first tries to use an embedded track in that language. Then it checks local sidecar subtitles such as Movie.en.srt. If those are missing, VoxFrame asks whether it may search: OpenSubtitles in the target language first, then an English human subtitle as translation source.
If you change language during IPTV/live translate, VoxFrame changes the target language for new live chunks. The stream keeps running; captions already shown are not retranslated retroactively.
16. Using OpenSubtitles
Choose Search human subtitles or OpenSubtitles via VoxFrame Cloud when you want the app to search a human subtitle for the current local video. This is the preferred route: VoxFrame searches human subtitles first and uses AI only when needed.
The normal workflow:
- The app creates a video identity with hash, file size, title and year when possible.
- The app searches OpenSubtitles in the selected target language.
- Candidates are scored on match quality.
- If the best match is above the minimum score, that subtitle is downloaded.
- The subtitle is loaded and source/confidence is included in status and logs.
If the selected target language has no good match, VoxFrame does not immediately transcribe. The app first checks whether an English human subtitle is available. If it is, VoxFrame can translate that subtitle to the selected language. This is especially useful for languages with fewer OpenSubtitles results.
If OpenSubtitles has nothing usable, the app can try depending on settings:
- find an English human subtitle and translate it to the target language;
- only after that, generate a subtitle from the audio.
When OpenSubtitles is temporarily limiting or blocking requests, you may see messages such as HTTP 429, API rate limit exceeded or VoxFrame Cloud HTTP 502 with OpenSubtitles details. This usually means OpenSubtitles is seeing too many requests temporarily. Wait a moment and try again later. If VoxFrame finds an English subtitle in that situation, you can choose to translate it to your selected language.
OpenSubtitles settings are in Settings > Player > Providers.
17. Generating AI subtitles
Choose Generate AI subtitles or Transcribe via VoxFrame Cloud when the local video has no usable human subtitle. Inside Smart Subtitle Assistant, this happens only after embedded tracks, sidecar subtitles, OpenSubtitles and the English translation fallback did not provide a usable solution.
The app can use these routes depending on installation and account:
- fast local STT through Purfview Faster-Whisper;
- local Whisper.cpp fallback;
- cloud transcription when available and configured.
For local STT the app temporarily pauses the video, creates or reuses a video identity and writes a generated subtitle to cache. The generated subtitle is then loaded automatically. For longer tasks the UI shows status and, where possible, progress or a time estimate.
Use AI generation mainly when there is truly no good human source. A good OpenSubtitles match is usually faster, lighter and better synchronized than transcribing again.
Local STT settings are in Settings > Speech to Text.
18. Translating subtitles
Choose Translate in the player menu or subtitle area. A submenu opens with translation actions.
For translation the app needs a translatable subtitle. That can be:
- a loaded external subtitle;
- an external subtitle track the app can read;
- an embedded subtitle track the app can export to SRT;
- in a live context: an existing live transcript in the overlay.
If source and target are the same concrete language, the app skips translation and reports that the subtitle is already in that language.
If no subtitle is loaded for an IPTV/live stream, VoxFrame does not use the normal translate button. Use Live transcript / translate. For local movies, VoxFrame first asks whether it may search for subtitles so an English human subtitle can be used as translation source.
Translate only
Translate only translates the current subtitle to the selected target language. The translation is saved as a new subtitle file and then loaded.
The app remembers the relation between source and translation. That allows Translation quality check and Export bilingual review to work afterwards. New translated files include the target language in the filename so you can see the language later. VoxFrame also adds a short opening and closing credit: Subs by VoxFramePlayer.
Translate + sync
Translate + sync first does the same as Translate only, then attempts ASR-assisted sync. It uses fast local STT as reference. If local STT is not available, the translated subtitle remains available and the app reports that sync was skipped or failed.
Batch translate all
Batch translate all translates to all supported target languages: NL, EN, ES, FR, DE and IT.
Batch translate is intentionally limited to the compact batch set NL, EN, DE, FR, ES and IT. The full language list is available for normal single-language translation and live translate. If Auto-load preferred batch result is enabled in Settings > Subtitle Tools, the app automatically loads the output for the selected target language. Other outputs remain available as files in the cache/output location.
Translation quality check
Translation quality check compares source and translation using the last remembered translation context. The app creates a quality report with a summary and possible attention points.
This button works only after source and translated subtitles are known, for example after Translate only, Translate + sync, batch translation or an OpenSubtitles translation fallback.
Build smart glossary
Build smart glossary analyzes the source subtitle and suggests terms that should stay stable during translation, such as names, places, organizations and recurring terms.
The suggestion window works like this:
- each suggestion appears as a checked checkbox;
- the tooltip shows an example;
Add selectedadds the chosen terms to the glossary;Cancelleaves the glossary unchanged.
Apply style preset
Apply style preset applies the selected subtitle style preset to the loaded subtitle. The preset is selected in Settings > Player.
Export bilingual review
Export bilingual review creates a review file with source and translation side by side. Use it when you want to review translation quality outside the player.
Auto split/merge
Auto split/merge improves line balance and cue readability. It can split long lines, rebalance line breaks and clean simple formatting.
19. Subtitle quality check and repair
Subtitle quality check checks the loaded subtitle for common problems. The exact behavior depends on Settings > Subtitle Tools.
Typical flow:
- The app checks that a subtitle is loaded.
- Depending on settings, it creates a local STT reference.
- The repair service analyzes errors, warnings and repairable items.
- The app always writes a report.
- If a repaired subtitle is written, it is named
.quality-fixed.srt. - The preview shows a summary and examples before you choose what to do.
The preview can show:
- error/warning count before repair;
- error/warning count after repair;
- number of changes, such as text fixes, timing fixes, removed cues and inserted missing speech;
- output file;
- compact before/after examples.
Preview actions:
Open report: opens the report file.Only save: saves the repaired subtitle without loading it.Load repaired subtitle: loads the repaired subtitle into the player when available.Close: closes the preview.
20. Sync with fast STT
Sync with fast STT tries to align the loaded subtitle with a fast local STT reference.
Requirements:
- a local video is loaded;
- a subtitle is loaded;
- the fast local STT engine and selected model are available.
This action is not translation. It analyzes speech timing and writes a synced subtitle when the match is reliable enough.
21. Benchmark fast STT
Benchmark fast STT tests the speed of the fast local STT route on a short audio fragment from the current video. The app uses ffmpeg to create a benchmark audio fragment and runs the selected Purfview/Faster-Whisper settings.
The result is saved as the last fast STT status and is visible in Settings > Speech to Text.
22. Exporting subtitles
Export subtitle saves the currently loaded subtitle to a file you choose. For a normal external subtitle, the app copies the existing subtitle file.
For an MKV or another local video with embedded subtitle tracks, you can export a track to SRT:
- Open the video.
- Open the
CCmenu. - Choose the embedded subtitle track you want to keep, for example
Dutch (subrip) (embedded). - Open the player menu.
- Choose
Export subtitle. - Choose the save location. The app exports the selected embedded track as
.srt.
The app uses the source extension as suggested extension. If there is no normal loaded subtitle or selected embedded track, or if the source file no longer exists, the app shows a message.
Export only normal loaded subtitles; live IPTV captions are temporary. Live captions from IPTV/live transcript are not saved with this normal export button.
23. Opening an IPTV playlist
Choose Open IPTV playlist in the player menu.
The app opens the Open IPTV playlist window. There you can:
- paste an M3U/M3U8 URL and choose
Load URL; - choose a local
.m3uor.m3u8file withOpen file; - close with
Cancel.
After loading, the app opens the channel picker.
24. Choosing IPTV channels
The channel picker first shows groups when groups are available. You can:
- search by group;
- open a group with
Open group; - double-click or use
Enter; - choose
Other playlistto load another playlist; - choose
Cancelto return.
Inside a group or when there are no groups, the app shows channels. You can:
- search by channel name, group, tvg-id or URL;
- return to the group overview with
Back to groups; - open the selected stream with
Open stream; - double-click or use
Enter.
25. IPTV live transcript / translate
Live transcript / translate is only for IPTV live streams. It is not for local video files. For local videos use Generate AI subtitles, Sync with fast STT or normal subtitle translation.
The live options window contains:
Translate live captions: turns live translation on.Subtitle setup: chooses the transcription profile.Spoken language: chooses the language being spoken; useAuto detectwhen you do not know it.Buffer mode: shows the synchronized live mode used for a remote stream.Live subtitle delay: adds extra delay to live captions.Target language: chooses the live translate target language.Start: starts the session.Cancel: closes without starting.
The profiles currently shown are:
LocalBest: recommended local quality. Audio stays on this PC and the profile uses the best tested local live setup.LocalLight: a lighter local setup for a weaker PC/GPU. It uses the current local speech settings; choose a smaller model underSettings > Speech to Textif necessary.DirectOpenAi: uses your own saved OpenAI API key for direct live transcription with word timing. OpenAI bills this usage to you; VoxFrame Cloud credit is not used.CloudStable: recommended cloud quality. It transcribes 10-second audio chunks through the VoxFrame Cloud proxy.CloudFilmSpeakers: uses 12-second chunks for more dialogue context. Despite the profile name, it does **not** identify, name or label speakers.
DirectOpenAi is shown only when VoxFrame Cloud is off and an own OpenAI API key is saved. Cloud profiles are only shown when the account is allowed to use VoxFrame Cloud. For these profiles, each audio chunk is sent over HTTPS to VoxFrame and processed by OpenAI behind the VoxFrame proxy. The app does not use a direct provider-credential route for this workflow: processing stays behind the VoxFrame proxy. Audio usage is charged only after a successful transcription; live translation is charged separately.
For a remote live stream, synchronized playback is normally about 30 seconds behind live with a local or DirectOpenAi profile and at least 60 seconds behind live with a cloud profile, plus transcription and optional translation time. These are quality-oriented buffered profiles, not zero-delay captions.
Choose the spoken source language explicitly when you know it; this usually gives more predictable recognition. Auto detect is available when the source language is unknown. The spoken source language and translation target language are separate choices.
The main player remains intended as a live player for IPTV. VoxFrame can buffer internally for stable live captions, but the local player is not meant as a timeshift player where you rewind minutes while watching normally. Timeshift belongs in the LAN Watch web-player, where a browser can seek back within the available HLS buffer.
Live subtitle delay choices:
0 seconds+1 second+2 seconds+3 seconds+5 seconds
During live transcription, captions are shown as an overlay. Temporary SRT output is used internally for the session, but live captions are intended as screen overlay. If the IPTV line temporarily stalls or a segment has no audio, VoxFrame tries to keep buffering and waits for the next usable audio instead of ending the whole session immediately. Catch-up is bounded: if processing falls too far behind the playback window, VoxFrame can deliberately skip an audio chunk that is already too late instead of allowing delay and memory use to grow without limit. This can cause a short caption gap on an overloaded PC or an unstable connection.
The status indicates what is happening:
Listening: the session is active and waiting for usable speech.No speech yet: chunks were checked but no clear speech was found; this is not automatically an error.Degraded: part of the workflow is temporarily limited; source captions stay active when translation cannot keep up.Reconnecting: VoxFrame is making a bounded reconnect attempt.Failed: the live-caption workflow stopped because of a technical problem.
If you change target language while live translate is running, new live chunks use the new language. The video keeps playing and captions already shown remain as they were.
26. LAN Watch / QR web-player
LAN Watch / QR web-player creates a local browser player for a phone, tablet, laptop or smart-TV browser on the same Wi-Fi/LAN network. The app shows a QR code and also places the link below the QR code in small clickable text; the link is copied to the clipboard as well.
The web-player uses local HLS segments from your own player. It does not create a public cloud stream. Devices must be able to reach the VoxFrame computer over the local network; firewall rules, guest Wi-Fi and separated VLANs can block the link.
Local video
For local movies, LAN Watch starts at the current position. If a normal external subtitle is loaded and captions are enabled, VoxFrame creates a WebVTT track for the web-player. Embedded MKV subtitles are not streamed automatically; export such a track to SRT first and load that as a normal subtitle if you want to see it through LAN Watch.
The local player temporarily hands playback over to LAN Watch. If starting fails, VoxFrame tries to restore local playback.
IPTV/live stream
For IPTV/live streams, LAN Watch creates a separate live HLS buffer with about 15 seconds playback delay, segments of about 5 seconds and a hard cache limit of 10 GB. The web-player can seek back inside the available buffer and continue from that chosen point. Pausing in the web-player does not stop the stream; the buffer keeps filling while the session is active and the limit is not exceeded.
If live captions are active, VoxFrame writes a live .vtt subtitle track for LAN Watch and refreshes it roughly every two seconds. That lets live subtitles appear in the browser player too. The main player can be paused while the stream and subtitle buffer keep running.
When you stop LAN Watch or close the player, VoxFrame removes the temporary LAN Watch folder. With a shared live buffer, the main live session remains as long as it is still active; stopping the player itself also clears those temporary buffers.
27. Chromecast / Cast
Use the Cast button at the bottom right to open the local Cast menu. VoxFrame searches the same network for Chromecast, Google TV and DLNA renderers. Discovery uses mDNS for Google Cast and SSDP for DLNA.
When you select a Chromecast or Google TV, VoxFrame first starts a local HLS stream and then sends a LOAD command to the Chromecast Default Media Receiver. On success, the TV plays the local HLS stream and local playback is handed off to the TV.
Chromecast is different from LAN Watch. LAN Watch is the QR/browser player for any device with a browser; Chromecast is direct cast playback to a cast device. Both stay local on your network and do not touch other virtual servers or cloud streams.
Subtitles for Cast work through a WebVTT track when a normal subtitle is active and captions are enabled. For live IPTV, VoxFrame can use a burn-in/ compatibility route where needed to get buffered live subtitles onto the cast device more reliably. Embedded MKV subtitles are not the same as a normal loaded subtitle; export them to SRT first when you want maximum compatibility.
If no cast devices appear, check that the TV/Chromecast is awake, on the same network, mDNS/SSDP is not blocked by the router and Windows Firewall allows local incoming connections.
28. Family filter
Family filter: off/on is a light family filter. When enabled, VoxFrame softens known profanity in live captions and in a temporary subtitle track. Original subtitle files are not overwritten.
The filter is an optional viewing aid, not perfect parental control. Review important content yourself when full control is needed.
29. Stopping AI/STT/live tasks
When AI, STT, translation or live transcript work is running, the player shows Stop current task. Click it to cancel the running task.
If a live caption overlay is active, stopping clears the overlay and stops the live session state.
30. Opening and closing Settings
Open Settings from the player menu.
The settings window is an overlay inside the app. Close it with the close button or Esc.
Settings are saved in different ways:
- checkboxes immediately after changing;
- dropdowns immediately after changing;
- text fields when the field loses focus;
- local STT model choices immediately after changing.
The left side contains these sections:
AccountPlayerSubtitle ToolsSpeech to TextAbout
31. Settings > Account
This tab manages license activation, account status, purchases, downloads and Premium Cloud usage.
License
Fields and buttons:
Status: showsDemo,Trial,Licensed,ExpiredorPending.Activation key: input field for a VoxFrame activation key.Account e-mail: optional account e-mail address.Server: shows the API base used by the app.Device: shows device status.Activate: activates the entered key on this device.Refresh license: refreshes license status online.Log out: clears local account data and tries to deactivate the device server-side.
The app stores the license token locally through the credential store. Do not share logs or screenshots containing activation keys.
Purchase
The purchase section shows Stripe state and available plans.
Premium options
Plan cards:
Player LicenseCloud PlusCloud Pro
For Player License, Buy Player opens Stripe checkout directly when the app has either a license token or an account e-mail. If both are missing, the app asks you to enter the account e-mail first.
The Player License costs EUR 24.95 once. After confirmed payment, the same installed Demo upgrades automatically to Player Pro. No separate Pro player is installed. The licence details are also sent to the account e-mail for recovery or a new installation.
For cloud plans, the app first asks for payment form:
MonthlyOne-timeYearly
For Cloud Plus/Pro, Stripe opens only after you choose a payment form. A direct qualifying Cloud purchase also unlocks Player Pro automatically; it does not require you to buy Player first. The Cloud entitlement stays separate from the permanent Player Pro entitlement. One-time is a 30-day Cloud pass. Yearly one-time is 365 days with a monthly hard-capped reset.
Retrieve purchase
Retrieve purchase checks whether a completed Stripe payment is ready to be linked to the app.
Use it after returning from the Stripe success page or when the browser has forwarded you back to the app.
Downloads
Buttons:
Check release: asks the server whether a release is available for this account.Download release: downloads an entitled release when available and verifies checksum when possible.
These buttons depend on license state and work only when the server offers a release for this account.
Premium Cloud
Options and fields:
Use VoxFrame Cloud for premium API usage: enables cloud routes when entitlement allows it.Plan: shows the current plan.Credits/minutes: shows local balance information.Usage: shows usage summary.Refresh usage: loads current usage.Manage account: tries to open the Stripe billing portal when available for this license. If the server cannot create a Stripe portal, the app opens the VoxFrame account page as fallback and shows a status message under the button.
When Cloud is on, supported functions use the VoxFrame cloud route instead of your own provider keys, as long as license and cloud token are valid.
32. Settings > Player
The Player tab contains behavior, preferred languages, subtitle style, glossary, match threshold, provider keys and cache.
Player behavior
Settings:
App language: interface language. Choices: English, Nederlands, Deutsch, Français.Automatically search: search subtitles automatically when possible.Auto-pick best subtitle: load the best matching subtitle automatically.Create SRT when no match exists: generate a subtitle when no good match exists.Auto-translate: translate automatically when the workflow supports it.Preferred languages: comma-separated language codes for subtitle search, for examplenl,en.Subtitle style: style preset for subtitle formatting.Glossary / name lock: words or translations that must remain stable.Min. match: minimum confidence for automatic subtitle selection.
Subtitle style
Style choices:
BalancedCompactReadingLarge
Glossary / name lock
Use one rule per line:
- a name to keep, for example
VoxFrame - or a fixed translation, for example
The Order = De Orde
The glossary can be used during translation and quality review.
33. Settings > Player > Providers
The provider section contains API keys and provider login data.
Fields:
OpenAI API key: your own OpenAI key. Leave empty to keep an existing saved key.OpenAI text model: model for text translation/selection.Load models: refreshes model choices.OpenAI transcription: transcription model choice.OpenSubtitles key: API key for OpenSubtitles.OpenSubtitles login: username.Password: OpenSubtitles password. Leave empty to keep the stored password.
Buttons:
Save keys: saves entered provider settings.Clear keys: removes saved provider keys.Test OpenSubtitles: validates OpenSubtitles credentials and API key.
When Use VoxFrame Cloud is on and your account allows the cloud route, the app uses VoxFrame Cloud for supported actions. Provider keys are still useful for own-key/local routes.
34. Settings > Player > Cache
The cache section shows the subtitle cache folder. Clear cache removes the cache folder and recreates it.
Use this when:
- you want to clean old downloads or generated subtitles;
- you want to test whether a workflow really downloads/generates again;
- the cache may contain corrupt or outdated files.
35. Settings > Subtitle Tools
This tab controls repair, translation review, live translate quality and batch behavior.
Repair mode
Choices:
Safe: minimal repair. No ASR reference, no missing speech insertion and no automatic load choice.Standard: default VoxFrame behavior. Repairs text/timing, uses ASR when available, writes.quality-fixed.srtand asks before loading repaired subtitles.Aggressive: stricter. Uses sharper thresholds, splits earlier and uses ASR assistance when available. Auto-load remains off so you can review the report first.
Repair checkboxes
Use local STT reference: creates a local STT reference for repair when possible.Insert missing speech: may insert missing ASR cues when repair supports it.Report only: creates only a report and writes no repaired subtitle.Ask before loading repaired subtitle: asks before loading the repaired subtitle.Never overwrite original: original subtitle is never overwritten.Always save report: a report is always saved.
The last two safety settings are forced on by the app.
Translation review
Settings:
Live quality: quality/latency choice for live translate.Use glossary / name lock: uses the glossary during translation.Use scene context: uses surrounding context during normal subtitle translation.Suggest glossary candidates: lets quality reports suggest glossary candidates.Quality report after translation: automatically creates a quality report after translation.Review suspicious cues: marks suspicious cues for review.Auto-load preferred batch result: automatically loads the output for the selected target language after batch translation.Fast fallback model for live translate: uses a faster fallback model when live translate risks falling behind.
Live translate quality
Choices:
Fast: fastest live model first. Good when captions mainly need to keep moving.Balanced: default. Usesgpt-5.4-minifirst andgpt-5.4-nanoas fast fallback when live translate risks falling behind.Better: stays with the better live model and disables fast fallback. Use when quality matters more than latency.
Reset subtitle tools
Reset subtitle tools restores this tab to defaults:
- repair mode
Standard; - STT reference on;
- insert missing speech on;
- report-only off;
- ask before loading on;
- glossary/name lock on;
- scene context on;
- glossary suggestions on;
- automatic quality report off;
- suspicious cue review off;
- batch preferred output auto-load on;
- live quality
Balanced; - fast fallback for live translate on.
36. Settings > Speech to Text
This tab manages local STT engines and models.
Fast local engine
The fast local engine is Purfview Faster-Whisper.
Fields and buttons:
Engine: shows the engine and whether it is available.Install fast engine: downloads and installs the engine.Fast model: chooses the model.Install selected fast model: downloads the chosen model.Source language: chooses language or auto-detect.Device: choosesAuto / CUDA if possible,CUDAorCPU.Compute: choosesAuto,float16,int8_float16,int8orfloat32.Purfview args: extra arguments for advanced use.
Fast model choices:
large-v3-turbo- 1.6 GBsmall- 472 MBmedium- 1.5 GBlarge-v2- 2.9 GBlarge-v3- 3.1 GBbase- 142 MBdistil-large-v3- 1.5 GB English
By default the app tries to choose large-v3-turbo when available.
Source language choices:
Auto detectEnglishDutchGermanFrenchSpanishItalian
The hardware advice line checks whether CUDA is available. If device and compute are both Auto, the app can apply advice automatically.
Fallback engine
The fallback engine is Whisper.cpp.
Fields and buttons:
Engine: showsWhisper.cppand availability status.Install fallback engine: downloads the fallback engine..bin model: chooses the fallback model.Install selected .bin: downloads the chosen.binmodel.
Fallback model choices:
large-v3-turbo-q5_0- 547 MBsmall-q5_1- 190 MBbase- 141 MBsmall- 465 MBlarge-v3-turbo- 1.5 GB
By default the app tries to choose large-v3-turbo-q5_0 when available.
Status and progress
At the bottom of the Settings overlay the app shows status and download progress. During downloads, buttons are temporarily disabled. After completion, model choices and availability labels are loaded again.
37. Settings > About
The About tab contains version, maker, updates, help and diagnostics.
Items:
Version: shows the app version.Maker: showsWilliam Baars / VoxFrame.Updates: update-check status.Check for updates: checks via account/license whether a release is available.Account: opens the online account page.Website: opens the website.Help: opens online help.Credits: shows used technologies.Open logs: opens the log folder for support/diagnostics.Export safe support log: writes a newly sanitized support copy to the Downloads folder.Delete logs: removes the diagnostic log files.
The help button opens online help so guidance can be updated without a new app build.
38. Logs and diagnostics
Use Settings > About > Open logs to inspect the log folder yourself. Prefer Export safe support log when you need to send diagnostics to support; it creates a separate sanitized text file in the Downloads folder. Delete logs removes the current and rotated diagnostic logs.
Logs help with support questions around:
- OpenSubtitles search/download;
- STT/transcription;
- live translate;
- LAN Watch and local HLS buffer;
- Chromecast/Google TV/DLNA discovery and cast start;
- license/cloud status;
- downloads and checksum verification;
- subtitle repair and quality reports.
Normal logging does not include caption text, full remote URLs, absolute local paths, provider keys, license/access tokens or payment details. Remote addresses are reduced to safe diagnostic information, and the support export sanitizes the collected files again, including older log lines.
Logging is bounded. runtime.log rotates at about 2 MB, up to three older rotated files are retained, and the oldest file is discarded automatically.
39. Common workflows
Local movie with existing subtitle
- Open the video.
- Check whether a sidecar/embedded subtitle was selected automatically.
- Otherwise choose
Open subtitle. - Use
CCto set track, delay and position. - Use
Subtitle quality checkwhen the subtitle is messy. - Optionally choose
Choose languageand thenTranslate.
Local movie without subtitle or wrong language
- Open the video.
- Choose the wanted language with
Choose language. - Choose
Smart Subtitle Assistant. - VoxFrame checks embedded and local subtitles.
- Then VoxFrame searches OpenSubtitles in the selected language.
- If that language is missing, VoxFrame translates an English human subtitle when possible.
- Only if no good human source exists is AI generation used.
- Then check sync through
CCdelay,Sync with fast STTorSubtitle quality check.
Translate and review subtitles
- Load a source subtitle.
- Choose the target language through
Choose language. - Fill glossary/name lock in
Settings > Playerwhen names matter. - Choose
Translate > Translate only. - Choose
Translation quality check. - Choose
Export bilingual reviewfor source/translation side by side. - Use
Apply style presetorAuto split/mergefor readability.
Change language while watching
- Click the language chip or
Choose language. - Choose the new language.
- For local video, VoxFrame first selects an embedded track if one exists.
- Then VoxFrame searches for a local sidecar subtitle.
- If none exists, VoxFrame asks whether it may use OpenSubtitles and possibly English translation.
- For live IPTV/live translate, the language changes for new live chunks without stopping the stream.
Watch IPTV with live transcript
- Choose
Open IPTV playlist. - Paste a playlist URL or open a
.m3u/.m3u8file. - Choose group and channel.
- Start the stream.
- Choose
Live transcript / translate. - Choose
LocalBest,LocalLight,CloudStableorCloudFilmSpeakers. - Choose the spoken language, or leave it on
Auto detect. - Turn on
Translate live captionsif you want translation. - Choose the target language and start. Allow roughly 30 seconds of local or at least 60 seconds of cloud buffer delay, plus processing.
- Use the
CCmenu for live delay if captions are consistently early or late.
Watch IPTV through LAN Watch
- Start the IPTV channel in VoxFrame.
- Start live transcript/translate if you want live subtitles in the LAN player.
- Choose
LAN Watch / QR web-player. - Scan the QR code or open the small clickable link under the QR code.
- Use the settings button in the web-player for extra player options.
- Pausing in the web-player is allowed; the live buffer keeps filling while LAN Watch is active.
- Stop LAN Watch when you want to return to the local player.
Use Chromecast
- Make sure the Chromecast, Google TV or DLNA TV is on the same network.
- Open a video or IPTV stream.
- Load an external subtitle if you want to send subtitles along.
- Click the Cast button at the bottom right.
- Choose the device when it appears in the list.
- If cast does not start, use LAN Watch as a browser fallback or check firewall/network.
Prepare local STT
- Open
Settings > Speech to Text. - Install
Fast local engine. - Choose a fast model, for example
large-v3-turbo. - Install the selected model.
- Leave
Source languageonAuto detector choose a language. - Leave
DeviceandComputeonAutounless you deliberately want CUDA/CPU. - Optionally install the Whisper.cpp fallback engine and a
.binmodel. - Open a video and choose
Benchmark fast STTto test the route.
40. Troubleshooting
The video does not open
Check whether the file type is supported. Supported local video extensions are .mp4, .mkv, .avi, .mov, .webm, .m4v and .ts.
The subtitle does not load
Check whether the file has a supported subtitle format: .srt, .vtt, .webvtt, .ass or .ssa. If the file is corrupt, the loader may reject it.
OpenSubtitles does not work
Check in Settings > Player > Providers:
- OpenSubtitles key;
- username/login;
- password;
Test OpenSubtitles.
Also check the minimum match. A Min. match value that is too high can reject good but imperfect candidates. With HTTP 429, API rate limit exceeded or a VoxFrame Cloud HTTP 502 containing OpenSubtitles details, OpenSubtitles is usually rate-limiting temporarily. Wait a moment and try again later. If VoxFrame finds an English subtitle, choose Translate from English to continue.
AI subtitle generation does not work
Check:
- whether the source is a local video file;
- whether a local STT engine/model is installed;
- whether ffmpeg is available;
- whether OpenAI/VoxFrame Cloud is configured when local STT does not work.
Translation does not work
Check:
- whether there is a translatable subtitle;
- whether source and target are not the same;
- whether OpenAI key or VoxFrame Cloud is available;
- whether
Use VoxFrame Cloudmatches your account status.
Translation quality check says context is missing
This function needs both source and translated subtitle. First run a translation through Translate only, Translate + sync, batch translate or an OpenSubtitles translation fallback.
Live transcript does not appear
Check:
- whether the current source is an IPTV/live stream context;
- whether ffmpeg is available;
- whether transcription provider or cloud route works;
- whether captions are not turned off with
Cor the captions toggle.
Live captions are early or late
Open the CC menu and adjust live delay with -0.5s or +0.5s. In the start window you can also choose Live subtitle delay in advance.
LAN Watch link or QR does not appear
Check that a video or IPTV stream is loaded, ffmpeg is available and no old cast/LAN session is still stopping. If the QR appears but another device cannot open the link, check same Wi-Fi/LAN, Windows Firewall, guest network and router isolation.
No subtitles in LAN Watch
For local movies, a normal subtitle must be loaded and captions must be on. Embedded MKV subtitles are not streamed automatically; export them to SRT first and load that SRT. For IPTV, live captions must be active before LAN Watch starts so VoxFrame can refresh the live .vtt.
LAN Watch stutters or falls behind
For IPTV, the source line itself can be unstable. VoxFrame tries to keep the buffer running and skip missing audio, but Wi-Fi, stream quality, firewall scans or slow disk access can delay HLS segments. Stop LAN Watch and start it again if the web-player gets outside the buffer.
Chromecast does not appear or start
Check that Chromecast/Google TV is on, on the same network and that mDNS is not blocked. For DLNA, SSDP must be reachable. If direct cast does not work, try LAN Watch / QR web-player in the TV browser as fallback.
Settings do not seem saved
Many settings save automatically. Text fields usually save when the field loses focus or Settings closes. Close and reopen Settings to check whether the value was normalized.
41. Glossary
ASR: Automatic Speech Recognition; speech recognition from audio.STT: Speech to Text; the same domain as ASR, focused on transcription.Cue: one subtitle entry with start time, end time and text.Sidecar subtitle: a loose subtitle file next to the video.Embedded track: a subtitle track inside the video file.Target language: language used for translation.Glossary/name lock: terms that are kept stable during translation.Quality report: report with subtitle or translation issues.Buffered sync: live route where video, audio and captions stay on one short-buffer timeline.OpenSubtitles-first: search human subtitles first; AI translates or generates only if needed.LAN Watch: local QR/browser player through HLS on the same Wi-Fi/LAN network.HLS: streaming format with small video segments and a playlist file.WebVTT: subtitle format browsers and cast devices can read well.Chromecast / Google Cast: cast protocol for Chromecast and Google TV devices.DLNA: local network protocol for some smart TVs and media renderers.Family filter: optional light profanity filter for live captions and temporary subtitle tracks.