Installation
Velitask for Windows can be installed from the MSI installer (recommended) or run from a ZIP archive without installation.
Why This Matters
Velitask is a desktop app for Windows. Distributions are bundled with Java Runtime (JRE 21), so you do not need to install Java separately. The two package formats cover the main scenarios: system installation with shortcuts through MSI, or portable launch from a flash drive or any folder through ZIP.
System Requirements
| Parameter | Minimum | Recommended |
|---|---|---|
| OS | Windows 10 (64-bit) | Windows 10 / 11 (64-bit) |
| Processor | 4 cores, 2 GHz | 6+ cores, 3 GHz |
| Memory (RAM) | 4 GB | 8 GB or more |
| Video memory | not required | a discrete GPU speeds up preview rendering |
| Disk | 1 GB for the app + space for video and OSM cache | SSD noticeably speeds up work with large videos |
For editing and exporting video, a fast disk (NVMe) and enough RAM are useful because Velitask keeps playback frames and sensor caches in memory.
Installing From MSI (Recommended)
- Download
Velitask-X.Y.Z.msifrom the downloads page at velitask.com. - Run the MSI by double-clicking it. The installer will ask for administrator privileges.
- Choose the installation folder (default:
C:\Program Files\Velitask\) and click Install. - After installation, the Velitask shortcut will appear in the Start menu, and
Add or Remove Programswill include an uninstall entry.
Running From a ZIP Archive (Portable Mode)
- Download
Velitask-X.Y.Z.zipfrom the downloads page. - Extract the archive to any folder (a path without spaces or Cyrillic characters is more reliable).
- Open the extracted folder and run
Velitask.exe.
Velitask still creates its config and caches in the user profile. The ZIP folder itself stays clean.
Where Velitask Stores Its Data
| What | Where |
|---|---|
| Application log | %USERPROFILE%\.velitask\logs\velitask.log |
| OSM tile cache | %USERPROFILE%\.velitask\osm-cache\ |
| Global settings (theme, language, last project) | registry + profile files |
| Project files (database, video, tracks) | the project folder you selected when creating it |
The .velitask folder in the profile is created on first launch. Deleting this folder resets application settings, but does not touch your projects.
Uninstalling
- MSI installation: Settings → Apps → Velitask → Uninstall (or Programs and Features).
- ZIP launch: simply delete the extracted folder. To remove settings too, delete
%USERPROFILE%\.velitask\.
Related Sections
- Interface Overview — what you see on first launch.
- Your First Project — a step-by-step path from empty project to export.
- Troubleshooting — if something does not launch or works slowly.
Troubleshooting
- Double-clicking
Velitask.exedoes nothing. Make sure you extracted the ZIP completely and are not running the app directly from the archive. Windows may also block the launch; in the file properties, check Unblock. - The MSI installation requires administrator privileges, but they are unavailable. Use the ZIP package. It does not require installation.
- Antivirus reports the installer. Velitask is not signed with a corporate certificate. Add the application folder to antivirus exclusions.
- It does not launch on Windows 7/8. These systems are not supported. The minimum is Windows 10 64-bit.
Interface Overview
The main Velitask window is divided into the menu, a left tool panel, the central Mixel player, and the status bar. This is enough to open a project, add a source, build a composition, and export the result.
Why This Matters
Velitask brings many activities into one window: importing video and tracks, placing indicators, synchronizing time, viewing sensor tables, and exporting. To stay oriented, it is important to understand right away where things are and in what order to return to them.
Main Menu
| Menu | What is inside |
|---|---|
| File | Create project, open project, save, export (video, image), project settings, exit. |
| View | Show/hide left panels (sources, layers, tasks, indicators, devices, time). |
| Tools | Additional tools: database editor. |
| Help | About, documentation, version. |
Left Panel (Tool Tabs)
On the left are switchable panels. Each can be closed with the cross and returned through View.
- Project (Sources) — the project tree: video, GPX tracks, images, OSM, sensors.
- Layers — the list of layers in the current Mixel: video, map, graphs, indicators.
- Indicators — the catalog of installed indicators (plugins) that can be placed into a Mixel.
- Devices — the list of Device Profiles with time zone and clock offset settings.
- Time — synchronization: which time corresponds to a particular frame.
- Tasks — the queue of background operations: GPX import, preview generation, export. Progress and errors are shown here.
Center Area: Mixel Player
In the center is the composition canvas (Mixel) with familiar video player controls:
- ▶ Play / ⏸ Pause, ⏮ Start / ⏭ End, ⬅ Prev frame / ➡ Next frame buttons.
- A timeline with the current position cursor.
- A preview of the video and overlaid indicators at the current moment.
The player shows the same content that will appear in the final exported video.
Status Bar
At the bottom of the window is a small strip with short information: the current background task and its progress, save messages, errors.
Startup Window
On first launch, a welcome window may appear with a Start working button and a Show on startup checkbox. Clear the checkbox if you want to go directly to the working window.
What to Do Next
- Create a project: File → New Project… and choose a folder.
- Drag video and a GPX track into the window, or add them through the menu.
- Configure the Device Profile so frames and tracks match in time.
- Open the Mixel and add the indicators you need.
- Export the video.
The detailed scenario is in Your First Project.
Related Sections
- Installation — if you have not launched Velitask yet.
- Your First Project — a practical step-by-step walkthrough.
- Mixel and Layers — what the central player is.
- Sources Panel — details about the tree on the left.
Your First Project
A 15-minute scenario: new project → add video and a GPX track → synchronize time → place a couple of indicators into the Mixel → export video.
Why This Matters
This lets you quickly see the full Velitask cycle. All steps below use one pair: action-camera video + a GPX track from the same ride. This is the most common scenario.
You will need:
- one video, for example an MP4 from a GoPro;
- one GPX track recorded at roughly the same time, from a bike computer, watch, or smartphone;
- an empty folder where Velitask will create the project.
Steps
1. Create a Project
- Open Velitask.
- File → New Project… (or
Ctrl+N). - In the dialog, choose an empty folder, for example
D:\Velitask\my-first-trip\. Velitask will create project files there (database, metadata). - Velitask takes the project name from the folder name.
After creation, you will see an empty Mixel in the center and an empty source tree on the left.
2. Add Video
- Drag a
.mp4file (or.mov,.mkv,.avi) directly into the Velitask window. Alternatively, use File → Import… or the context menu in the source tree. - Velitask will add a node like Video → my-clip.mp4 to the tree and automatically read metadata (duration, resolution, fps, shooting date).
- The frame analysis progress will appear in background tasks (the Tasks tab).
3. Add a GPX Track
- Drag
.gpxinto the window. Velitask recognizes GPX automatically. - A GPX → my-track.gpx node will appear in the tree. Inside it are sensor sets: Geo (coordinates), Distance (distance from start), Elevation (altitude), Speed, Slope, depending on what is present in the source file.
- You will see the import on the Tasks tab. Wait until it finishes; large GPX files can take noticeable time.
4. Check Video and Track Time
Video and GPX almost never match by themselves: the camera may be set to another time zone, GPX may be in UTC, and so on. This is handled through the Device Profile.
- Open the Devices tab.
- Velitask automatically creates one Profile for each source. Open the camera profile:
- Time zone — set the time zone that the camera clock used, for example
Europe/Moscow. - Offset, sec. — leave
0if the clock was accurate. If it was wrong (the camera was one minute fast), enter the correction here.
- Time zone — set the time zone that the camera clock used, for example
- Do the same for the GPX source profile. Most GPS devices already record the track in UTC: keep the time zone as UTC and the offset as 0.
See Time Synchronization for details.
5. Place Indicators Into the Mixel
- The Indicators tab shows the list of available indicators: speedometer, speed text, time text, map, distance, and so on.
- Drag the indicator you need onto the player canvas in the center, for example Speed text.
- The right panel will show layer properties: position, size, source binding. Link the indicator to the GPX speed sensor.
- In the same way, add Time text (clock) and GeoMap (mini map), a typical set for a cycling ride.
See Mixel Editor for details.
6. Preview the Result
- Click Play (▶). Velitask will play the video with overlaid indicators.
- Scrub the timeline cursor and check that speed, distance, and time values match the video.
- If something does not line up, return to step 4 and refine the Device Profile.
7. Export Video
- File → Export → Video….
- Choose the range (the entire Mixel by default), quality preset, codec (H.264 is the most compatible), fps, and audio.
- Specify the output path, for example
D:\Velitask\my-first-trip\export.mp4. - Click Start. Progress is shown on the Tasks tab.
- When finished, the ready file will appear in the selected folder.
See Video Export for details.
What to Try Next
- Add more videos to one project and build a sequence from them.
- Add additional sensors (cadence, power). Velitask reads them from GPX/FIT when they are present.
- Adjust indicator settings: size, color, position.
- Save an export preset to quickly reuse the same encoding settings in future projects.
Related Sections
Time Model
Inside a project, all time is stored in UTC. Each source device (camera, GPS logger, bike computer) is converted to UTC through a Device Profile: the pair of time zone + clock offset.
Why This Matters
Video, GPX tracks, and sensor records carry time in different ways. One camera may be set to Europe/Moscow, another device may be in UTC, a third clock may be one minute fast, while a GPX receiver usually writes UTC all the time. If everything is simply combined as is, speed and distance values will appear at the wrong moment.
Velitask solves this as follows:
- Every source has raw timestamps: what the device recorded.
- A Device Profile converts them to UTC.
- The internal project scale lives in UTC: the Mixel timeline, indicators, and export.
The user does not manually enter UTC anywhere. You only say: this camera used this time zone and was fast or slow by this many seconds.
Device Profile
A Device Profile is a project record that links a source to the rules for interpreting its time.
| Field | Meaning |
|---|---|
| Name | arbitrary, for finding it: “GoPro Hero 11”, “Garmin Edge”, “Phone”. |
| Source type | video, GPS, and so on; used for grouping. |
| Time zone | tz from the standard IANA database: Europe/Moscow, UTC, America/Los_Angeles, and so on. |
| Offset, sec. | if the device clock was wrong (the camera was 47 seconds fast), the correction is stored here. |
By default, Velitask creates one Profile for each source. Profiles are listed and edited on the Devices tab.
Profile Inheritance
To avoid setting a Profile on every source separately, inheritance rules are used:
- Each source has its own Profile: priority 1.
- If the source has no Profile, the Profile of the folder containing it is used.
- If that is also missing, the project root Profile is used.
- If nothing is set anywhere, UTC with offset 0 is used.
This makes it convenient to configure a “GoPro Profile” once at the project root and not return to it for every clip.
How Time Zone and Offset Become UTC
The formula is simple:
UTC = raw − tz_offset(raw) + correction
raw— what the device recorded.tz_offset(raw)— the time zone offset from UTC at that moment (including daylight-saving changes).correction— the user clock correction in seconds.
Velitask works in both directions: it stores UTC and can show device-local time too, for example in the clock indicator.
What Is Important to Understand
- A one-hour difference is a forgotten time zone. If indicators are shifted by exactly one hour, the issue is usually not the offset but an incorrect Profile tz.
- A few seconds of difference is clock offset. Cameras are often 5–60 seconds off compared to the reference. These seconds are set through the Profile offset.
- GPX is almost always in UTC. If the GPX file explicitly uses UTC, which is the typical case,
UTCand zero offset are enough for the Profile.
Related Sections
- Time Synchronization — how to actually compare and adjust time in the UI.
- Importing GPX — what Velitask does with GPX time during import.
- Troubleshooting — the section about shifted indicators.
Mixel and Layers
Mixel is the main composition format in Velitask: a rectangular canvas with a set of layers, each showing its own content (video, map, indicator, shape). It is both what you see in the player and what ultimately goes into export.
Why This Matters
A typical telemetry video needs to show several things at once: the camera video itself, current speed and distance values, a mini map with the track, and maybe a slope graph. All of these are layers of one composition. A Mixel is the container that stores and plays them.
A project usually has one Mixel: the main composition. But a Mixel is not rigidly tied down. Later, you may have separate Mixels for different parts of a route or different export variants.
What a Mixel Consists Of
| Concept | Meaning |
|---|---|
| Canvas | a rectangular area with a configured resolution and aspect ratio (16:9, 4:3, 1:1, vertical). |
| Layer | one object on the canvas: video, map, indicator, shape, group. |
| Group | a nested set of layers that moves and scales as one unit. |
| Layout | rules for positioning layers relative to the canvas (anchors, percentages, absolute pixels). |
Layers are ordered: the layer higher in the list is closer to the viewer and drawn above the others.
Layer Types
Out of the box, Velitask can create these layer types:
| Layer | What it does |
|---|---|
| Video | shows a frame from a video source. |
| GeoMap | mini OSM map with track and current position marker. |
| Speed (text) | current speed as large text. |
| Speedometer | dial speedometer. |
| Distance (text) | distance covered. |
| Slope (text) | current slope (%). |
| Slope (graph) | slope graph along the timeline. |
| Wattmeter | power in watts. |
| Time (text) | clock and date. |
| Compass | heading by movement direction. |
| SVG / Rectangle / Ellipse / Line | custom shapes. |
| Group | container for other layers. |
Most layers are indicators from a plugin (see Indicators and Plugins). This means the list of layers is extensible: installing a new plugin adds new types to the Mixel.
Binding a Layer to a Source
Data layers (Speed, Distance, GeoMap, and so on) show values from a specific sensor of a specific source. This binding is explicit:
- The layer properties in the right panel include a Source field, or several fields if the indicator uses multiple channels.
- Velitask does not guess the source for you. You choose “take this speed from the GPX track
morning-ride.gpx”, and the layer works only with that data. - If no source is set, the layer will show empty content or “—”.
Layers and Time
All layers live on one shared scale: the Mixel timeline in UTC. At any moment on the timeline, Velitask:
- Takes the current UTC time of the cursor.
- Gives each layer the value of its sensor at that moment.
- Draws the resulting image, which is the Mixel frame.
The scale is shared, so camera video and GPX values are automatically synchronized if Device Profiles are configured correctly.
Mixel as JSON and Template
A Mixel can be saved not only inside a project, but also as a separate .vttp template. This file stores a JSON composition: layers, order, placement, and indicator properties.
A template is useful when you want to reuse one layout in different projects: for example, always open video with a video layer, speedometer, and map, while opening a GPX track with a full-canvas map.
Velitask can apply these templates manually and automatically:
- manually — through Tools → Apply Template...;
- export the current composition — through File → Export → Template...;
- automatically — when a new source has no saved Mixel yet;
- separately for thumbnails — through
thumbnail-video.vttpandthumbnail-gpx.vttp.
Details: Mixel JSON and Templates. For layer placement in a template, see Mixel Layouts in JSON.
Related Sections
- Interface Overview — where the Mixel player is located.
- Mixel Editor — practical layer adding and configuration.
- Indicators and Plugins — what an indicator is as a layer type.
- Time Model — why everything lines up in time.
- Mixel JSON and Templates — how to save and apply
.vttp. - Mixel Layouts in JSON — how to control layer placement in a template.
Mixel JSON and Templates
In short: a Mixel can be saved as a
.vttptemplate, placed in a project folder or the user templates folder, and applied to new sources. Inside.vttpis JSON that describes layers, placement, and properties.
Why This Matters
Usually it is easier to build a Mixel with the mouse: add video, map, speedometer, text layers, and configure them in the properties panel. But templates are useful when:
- you often build the same layout for different rides;
- you want to keep a good composition as a separate file;
- you prepare several projects with the same colors, sizes, and positions;
- you want to quickly adjust basic values in JSON;
- you build a template once and apply it to new videos or GPX tracks.
JSON is an advanced workflow. If you do not want to edit files manually, configure the Mixel in the interface and export it as a template.
How to Use It
Create a Template From the Current Mixel
- Open a source with an already configured Mixel.
- Check layers, order, sizes, colors, and data bindings.
- Choose File → Export → Template...
- Save the file with the
.vttpextension. - Put the file into the project folder or the user templates folder.
Default user templates folder:
%USERPROFILE%\.velitask\templates
You can change it in Tools → Settings → Templates.
Apply a Template Manually
- Open the source or Mixel where you want to apply the template.
- Choose Tools → Apply Template...
- Select Base template or a specific
.vttpfrom the project. - Check the layer list and source bindings.
- Save the project if the result is correct.
Applying a template replaces the current Mixel composition. Before experimenting, save the project or export the current Mixel to a separate .vttp.
What .vttp Is
.vttp is a Mixel template file. Inside it is a JSON composition:
- layer list;
- layer order;
- placement of each layer;
- indicator properties;
- settings that help Velitask apply the layer to a new source.
A regular Mixel is stored inside the project. .vttp is a separate file used for reuse.
| Comparison | Regular Mixel | Mixel template .vttp |
|---|---|---|
| Where it is stored | inside the project | separate file |
| Purpose | current project composition | reusable layout |
| How it is created | automatically while working in the editor | by template export or manually |
| How it is applied | opens with the project | manually or automatically when a new Mixel is created |
Where Velitask Looks for Templates
When a source has no saved Mixel yet, Velitask tries to choose a default template automatically.
First it builds candidate file names:
| Template name | When it matches |
|---|---|
ride.vttp | for a source named ride.mp4, ride.mov, or ride.gpx |
mp4.vttp | for MP4 video if there is no template by source name |
mov.vttp | for MOV video if there is no more specific template |
gpx.vttp | for GPX tracks |
video.vttp | for video sources if there is no template by name or extension |
image.vttp | for images |
telemiger.vttp | for Telemiger sources |
For each name, levels are checked in this order:
| Level | Location | When to use it |
|---|---|---|
| Project | next to the source or higher up to the project root | the template is needed only in one project |
| User | %USERPROFILE%\.velitask\templates or the folder from settings | the template is needed in all projects |
| System | Velitask installation templates folder | built-in application templates |
Priority:
- More specific names win first:
ride.vttpis stronger thanmp4.vttp, andmp4.vttpis stronger thanvideo.vttp. - Within one name, the project template is stronger than the user template.
- The user template is stronger than the system template.
- File name case does not matter:
Video.vttpandvideo.vttpare treated as the same option.
The user and system folders are checked only at their top level for default templates. If you put video.vttp into a nested folder inside the user templates folder, automatic search will not see it.
Project, User, and System Templates
A project template is useful when one project needs its own style. For example, put video.vttp into the project folder, and new videos in that project will get this layout if they do not already have a saved Mixel.
A user template is useful for your personal style. For example, put gpx.vttp into %USERPROFILE%\.velitask\templates, and new GPX tracks in different projects will start with your map or indicator set.
System templates are shipped with Velitask. Do not edit them directly: copy the needed .vttp into the user folder and edit the copy.
Thumbnail Templates
Thumbnail templates are used for thumbnails and previews in the interface. They do not replace the main source Mixel.
Current names:
| Name | Purpose |
|---|---|
thumbnail-video.vttp | video source thumbnail |
thumbnail-gpx.vttp | GPX track thumbnail |
Thumbnail templates are searched only in the user and system templates folders. The project hierarchy is not used for them.
How Mixel JSON Is Structured
The top level usually contains a layers list. Each item is one layer on the canvas.
Example built-in video template:
{
"layers": [
{
"name": "com.velitask.plagin.official.video",
"data": {
"maket": { "preset": "fill" }
}
},
{
"name": "com.velitask.plagin.official.speedometer",
"data": {
"maket": { "preset": "auto" }
}
},
{
"name": "com.velitask.plagin.official.geoMap",
"data": {
"maket": { "preset": "auto" }
}
}
]
}
Important fields:
layers— layer order;name— technical layer or indicator name;data— settings of this layer;maket— layer placement on the canvas;preset: fill— the layer fills the available area;preset: auto— Velitask chooses a suitable place automatically.
For details about maket, its types, and fields, see Mixel Layouts in JSON.
Example GPX map template:
{
"layers": [
{
"name": "com.velitask.plagin.official.geoMap",
"data": {
"maket": { "preset": "fill" },
"properties": {
"fitTrack": { "value": true }
}
}
}
]
}
Here properties contains settings of the specific indicator. In this example, fitTrack makes the map fit the track.
What Is Safe to Edit Manually
Safest changes:
- change the placement
presetif you understand the difference betweenfillandauto; - change simple properties with clear values, such as
true/false, numbers, or colors; - remove an unnecessary layer from
layers; - change the order of layers in the list;
- copy a ready layer from another template if the needed indicator is installed in Velitask.
After each change, test the template in a copy of the project. It is better to change one small piece at a time.
What Is Better Left Alone
Be careful with:
name— if the indicator is not installed, the layer will not appear;- source and sensor bindings if they are present in the template;
- unknown nested fields inside
properties; - JSON exported by a newer Velitask version if you open it in an older version of the app.
Do not blindly copy sourceId, sensorId, or similar ids from one project to another. In the new project, those ids may point to different data or not exist at all.
Checking a Template
- Make a copy of the project or use a test project.
- Put
.vttpinto the project folder or the user templates folder. - Open a source for which Velitask has no saved Mixel yet.
- Check which layers appeared.
- Check layer properties and source bindings.
- Scrub through the timeline.
- Run a short test export or export one frame.
If the template was applied unexpectedly, temporarily remove it from the templates folder and open the source again.
Troubleshooting
| Symptom | Possible cause | What to do |
|---|---|---|
| A new source opened without layers | template was not found or is damaged | check the file name, folder, and JSON syntax |
| The wrong template was applied | a more specific template overrode the general one | check ride.vttp, extension templates, and video.vttp / gpx.vttp |
| Map or indicator is empty | data binding was not selected | open layer properties and choose the needed source or sensor |
| Thumbnail did not change | a regular template was changed instead of a thumbnail template | use thumbnail-video.vttp or thumbnail-gpx.vttp |
| Current composition disappeared after applying a template | the template replaces the Mixel | restore from a saved project or from a previously exported .vttp |
Related Sections
- Mixel and Layers — basic Mixel model.
- Mixel Editor — how to build a composition in the interface.
- Mixel Layouts in JSON — how to configure layer placement in
.vttp. - Indicators and Plugins — which indicators can be added as layers.
- Video Export Presets — another preset type, unrelated to
.vttp. - Troubleshooting — general project, import, and export errors.
Mixel Layouts in JSON
In short:
maketcontrols where a layer appears in a Mixel when a.vttptemplate is applied. Velitask templates support three presets:auto,fill, andproportional.
Why This Matters
A Mixel template should work in more than one project and one resolution. If you save a layer in exact pixels, it may look good in 1920x1080, but shift or become too small in vertical video, square video, or 4K.
maket solves this. It stores not just current coordinates, but a placement rule:
- fill the parent completely;
- let the indicator choose its default place;
- place the layer as percentages of the parent size.
For manual .vttp editing, proportional is usually the most useful option: it is clear, portable, and handles resolution changes well.
How to Use It
- Open the
.vttpfile in a text editor. - Find the needed layer inside
layers. - Inside
data, add or edit themaketobject. - Choose a
preset:auto,fill, orproportional. - For
proportional, setx,y,w, andh. - Apply the template in Velitask and check the result.
Example speedometer layer in the top-right corner:
{
"name": "com.velitask.plagin.official.speedometer",
"data": {
"maket": {
"preset": "proportional",
"x": 0.73,
"y": 0.05,
"w": 0.22,
"h": 0.30
}
}
}
On a 1920x1080 canvas this gives approximately:
| Field | Calculation | Result |
|---|---|---|
x | 1920 * 0.73 | 1402 px from the left edge |
y | 1080 * 0.05 | 54 px from the top edge |
w | 1920 * 0.22 | 422 px width |
h | 1080 * 0.30 | 324 px height |
Where maket Is Stored
maket is inside data of a specific layer:
{
"layers": [
{
"name": "com.velitask.plagin.official.video",
"data": {
"maket": { "preset": "fill" }
}
}
]
}
For a top-level layer, the parent is the whole Mixel canvas. For a nested layer, the parent is the layer or group that contains it.
What Happens When a Template Is Applied
When Velitask applies .vttp, it reads JSON in template mode. For each layer, the order is:
- If
maketexists, Velitask applies it and calculatespositionInParentandsize. - If there is no
maket, butsizeandpositionInParentexist, exact JSON values are used. - If this is a template and there is no
maket, size, or position,autois applied.
Practical result: in .vttp, it is better to set maket explicitly. The template becomes clearer and more stable.
If one layer contains maket, size, and positionInParent at the same time, maket wins. Exact pixel fields may remain in the file, but they are ignored when the layer is loaded.
Layout Types
preset | Extra fields | What it does | When to use it |
|---|---|---|---|
auto | none | applies the indicator's own default placement | quick start, built-in templates |
fill | none | sets x=0, y=0, and stretches the layer to the full parent size | video background, full-canvas map, fullscreen backing layer |
proportional | x, y, w, h | defines position and size as fractions of the parent | precise portable layouts for templates |
If preset is missing inside maket, Velitask treats it as auto.
If an unknown preset is used, Velitask cannot apply that maket. If size and positionInParent are present, they are used instead. If this is a template without exact size and position, the layer eventually receives auto.
auto
auto looks like this:
{
"maket": { "preset": "auto" }
}
auto does not store coordinates, size, anchor, or margins in .vttp. Instead, the layer asks its indicator for default placement.
For official indicators, default placement is defined by the indicator itself:
| Indicator | Default auto place | Base size |
|---|---|---|
| Video | bottom-right | 480x270 |
| Speedometer | top-right | 400x400 |
| GeoMap | bottom-left | 700x400 |
| Distance text | bottom-left | 750x100 |
| Slope chart | top-left | 600x300 |
| Slope text | top-left | 600x300 |
| Time text | top-left | 600x300 |
| Compass | top-right | 200x200 |
| Rectangle | top-left | 400x200 |
| Ellipse | top-left | 200x200 |
| Line | top-left | 400x20 |
These values are a starting layout. You can still move and resize the layer in the editor afterwards.
Choose auto when:
- you want the indicator's standard placement;
- exact position is not important;
- you are making a very short template, like the built-in
video.vttp; - you trust the indicator to pick a convenient place.
Do not choose auto when:
- you need precise control over the composition;
- several layers must be symmetrical;
- the template must look the same across projects;
- you want a specific percentage width and height.
Important: .vttp cannot configure the internal margins of auto. In a template you can only select preset: "auto". If you need custom coordinates, use proportional.
fill
fill looks like this:
{
"maket": { "preset": "fill" }
}
It does one simple thing:
x = 0;y = 0;- width equals parent width;
- height equals parent height.
For a top-level layer, this means the layer takes the entire Mixel canvas. For a layer inside a group, it takes the entire group.
Good scenarios:
- main video across the whole Mixel;
- map across the whole Mixel for a GPX-only project;
- background rectangle inside a group;
- thumbnail template where one layer must fill the thumbnail.
Example:
{
"name": "com.velitask.plagin.official.video",
"data": {
"maket": { "preset": "fill" }
}
}
If you want margins around the edges, fill is not enough. Use proportional, for example x=0.03, y=0.03, w=0.94, h=0.94.
proportional
proportional looks like this:
{
"maket": {
"preset": "proportional",
"x": 0.10,
"y": 0.20,
"w": 0.30,
"h": 0.40
}
}
Fields mean:
| Field | Meaning | Formula |
|---|---|---|
x | left offset as a fraction of parent width | parentWidth * x |
y | top offset as a fraction of parent height | parentHeight * y |
w | layer width as a fraction of parent width | parentWidth * w |
h | layer height as a fraction of parent height | parentHeight * h |
Values are usually from 0.0 to 1.0.
| Value | Meaning |
|---|---|
0.0 | 0% |
0.05 | 5% |
0.25 | 25% |
0.5 | 50% |
1.0 | 100% |
Velitask does not strictly clamp these numbers. Negative values or values above 1.0 can move a layer outside the parent. Sometimes this is useful for a deliberate edge bleed, but usually it is a mistake.
If fields are omitted, defaults are used:
| Field | Default value |
|---|---|
x | 0.0 |
y | 0.0 |
w | 1.0 |
h | 1.0 |
So this JSON:
{
"maket": { "preset": "proportional" }
}
is equivalent to a layer filling the parent:
{
"maket": {
"preset": "proportional",
"x": 0.0,
"y": 0.0,
"w": 1.0,
"h": 1.0
}
}
For full fill, fill is still better: it is shorter and clearer.
Ready-Made Formulas
Top-Right Corner
The layer takes 22% width, 30% height, with 5% top margin and 5% right margin:
{
"maket": {
"preset": "proportional",
"x": 0.73,
"y": 0.05,
"w": 0.22,
"h": 0.30
}
}
Why x = 0.73: 1.0 - 0.05 - 0.22 = 0.73.
Bottom-Left Corner
The layer takes 34% width, 32% height, with 4% left margin and 5% bottom margin:
{
"maket": {
"preset": "proportional",
"x": 0.04,
"y": 0.63,
"w": 0.34,
"h": 0.32
}
}
Why y = 0.63: 1.0 - 0.05 - 0.32 = 0.63.
Center
The layer takes 40% width and 25% height and is centered:
{
"maket": {
"preset": "proportional",
"x": 0.30,
"y": 0.375,
"w": 0.40,
"h": 0.25
}
}
Formulas:
x = (1.0 - w) / 2;y = (1.0 - h) / 2.
Bottom Bar Across the Width
{
"maket": {
"preset": "proportional",
"x": 0.0,
"y": 0.88,
"w": 1.0,
"h": 0.12
}
}
This is convenient for a bottom information panel.
Map With Margins
{
"maket": {
"preset": "proportional",
"x": 0.03,
"y": 0.56,
"w": 0.34,
"h": 0.39
}
}
Good for a map in the bottom-left corner with a small edge margin.
Slight Bleed Outside the Edge
{
"maket": {
"preset": "proportional",
"x": -0.02,
"y": -0.02,
"w": 1.04,
"h": 1.04
}
}
This can slightly enlarge a background or map to avoid a thin empty edge. Use carefully: part of the layer will be outside the canvas.
maket, size, and positionInParent
A regular saved Mixel may store exact pixel fields:
{
"size": { "...": "..." },
"positionInParent": { "...": "..." }
}
For templates, this is less convenient because pixels depend on a specific resolution.
In .vttp, prefer:
{
"maket": {
"preset": "proportional",
"x": 0.70,
"y": 0.06,
"w": 0.25,
"h": 0.30
}
}
If maket exists, it recalculates size and position. If there is no maket, Velitask tries to use size and positionInParent.
What Happens When Mixel Size Changes
When the Mixel canvas size changes, Velitask reapplies layouts of top-level layers:
fillstretches to the whole canvas again;proportionalis recalculated from the new width and height;autoapplies the indicator's default placement again.
This is why proportional works well for templates that need to live in 16:9, 1:1, 9:16, or 4K.
How Velitask Exports maket
When you export the current Mixel as a template, Velitask saves the layer in template mode.
If the layer already has an active maket, its preset is saved:
autois saved as{ "preset": "auto" };fillis saved as{ "preset": "fill" };proportionalis saved with calculatedx,y,w, andh.
If the layer has no active maket, Velitask saves it as proportional by default: it takes the current pixel coordinates and divides them by the parent size.
Practical tip: after exporting a template, open .vttp and check that the layers you want to control use preset: "proportional" with understandable x, y, w, and h.
Choosing the Right Preset
| Task | Best choice |
|---|---|
| Video or map across the whole canvas | fill |
| Background layer inside a group | fill |
| Quickly place an indicator in its default location | auto |
| Build a clean portable layout | proportional |
| Keep a right or bottom margin in percent | proportional |
| Make one composition work for 1080p and 4K | proportional |
| Recreate a built-in Velitask default template | auto and fill |
Common Mistakes
| Mistake | What happens | How to fix it |
|---|---|---|
preset has a typo | layout is not applied as expected | use only auto, fill, proportional |
w and h are missing for proportional | the layer takes 100% width and height | set the needed w and h |
x + w is greater than 1.0 | the layer goes beyond the right edge | reduce x or w |
y + h is greater than 1.0 | the layer goes beyond the bottom edge | reduce y or h |
auto is used when a precise result is needed | position depends on the indicator | replace it with proportional |
.vttp contains only pixel size and positionInParent | the template is less portable between resolutions | replace them with maket |
Checking a Layout
- Make a copy of
.vttp. - Change
maketfor only one layer. - Apply the template to a test source.
- Check the layer at the normal Mixel size.
- Change the Mixel size or export resolution and check again.
- Make sure the layer does not go beyond the edges and does not cover important elements.
Related Sections
- Mixel JSON and Templates — general
.vttpformat and template search rules. - Mixel and Layers — the basic layer model.
- Mixel Editor — visual layer configuration.
- Supported Formats — where
.vttpis listed.
Indicators and Plugins
An indicator is a widget over the video: speedometer, speed text, mini map, slope graph. All indicators are supplied by plugins; the standard set is already built in, and additional ones can be installed separately.
Why This Matters
A Velitask video usually consists of the camera picture itself and a set of overlays with numbers and graphics, so the viewer can see speed, slope, distance, and the current point on the map. In Velitask, these overlays are called indicators.
Indicators are the extensible part. The standard set covers a typical cycling ride or track recording, and then plugins add more: indicators for paragliding, boats, cars, custom graphs, and so on.
What a Plugin Is
A plugin is a module that brings:
- Indicators (new layer types in the Mixel).
- Sometimes shapes, fonts, and icons.
- Its own localization.
A plugin does not change the application core, access the project database, or replace existing indicators. It only adds new items to the catalog.
Where Indicators Are Visible
| Place | What you do there |
|---|---|
| Indicators tab (left panel) | See the list of all available indicators and categories. Drag the one you need onto the Mixel canvas. |
| Mixel canvas in the player | Each indicator is displayed as a layer. |
| Layer list on the Layers tab | All indicators are listed in drawing order. |
| Right properties panel | When an indicator layer is selected, its parameters are visible (source, size, font, color). |
Standard Set (Velitask Plugin)
| Indicator | What it shows |
|---|---|
| Video | a frame from a video source. |
| GeoMap | mini OSM map with track and marker. |
| Speed (text / speedometer) | speed. |
| Distance | distance. |
| Slope (text / graph) | slope. |
| Wattmeter | power in watts. |
| Time | clock and date. |
| Compass | direction. |
| Rectangle / Ellipse / Line / SVG | custom shapes: background, frame, dividers, any vector elements. |
The list may grow from version to version. Check the Indicators tab after updates.
Installing Additional Plugins
In the current Velitask version, plugins are delivered as separate .jar files. Installation:
- Close Velitask.
- Put the
.jarinto the plugins folder:%USERPROFILE%\.velitask\plugins\(create the folder if it does not exist). - Start Velitask. The new indicator will appear on the Indicators tab.
If the plugin does not appear, check the application log (%USERPROFILE%\.velitask\logs\velitask.log). It shows whether the file was loaded successfully.
Indicator Skins
A skin is a named set of visual settings for an indicator (colors, stroke width, opacity, font, shape) that is applied with one click. A skin saves you from adjusting a dozen sliders every time to make the indicator look good.
Skin Sources
In Velitask, there are three sources of skins for the same indicator:
| Source | Who defines it | Where it is visible |
|---|---|---|
| Built-in | the indicator author (plugin) | immediately after adding an indicator, in the Skin submenu. |
| Custom | you, by saving your own set of settings | in the Skin submenu, below built-in skins. |
| Imported | brought from a .vtskin file (your own or shared) | in the same Skin submenu. |
For example, the Video indicator has built-in skins: framed (with a white frame) and rounded (with rounded corners and no frame). The speedometer has Default, Night, and Racing.
The Default Skin Is Applied Automatically
When you add a new layer to a Mixel, Velitask automatically applies the first built-in skin. That means:
- When you drag the Video indicator onto the canvas, its parameters are immediately set as in the framed skin: opacity 100, white frame, no rounding.
- When you drag Speedometer, it gets parameters from the Default skin (branded colors).
This makes the indicator look normal immediately instead of like a raw technical placeholder. After that, you can keep it as is, switch to another skin, or manually adjust individual properties.
When opening an existing project, the previously selected indicator skins are preserved.
How to Change a Skin
- Open a Mixel.
- On the Layers tab, right-click the indicator layer.
- In the context menu, choose the Skin submenu.
- Click the option you need. Its settings are applied to the layer immediately.
After a skin is applied, all visual indicator properties (Color, Stroke width, Opacity, and so on) are updated. Non-visual properties are not touched: if you had a specific sensor source bound or background audio enabled, it stays as it was.
Saving Your Own Skin
If you have found a good combination of settings and want to reuse it:
- Right-click the layer → Skin → Save to skin….
- Choose a
.vtskinfile (new or existing; the skin will be added to it) and confirm. - Enter the skin name, for example “My night” or “For winter videos”.
After that, your skin appears in the Skin submenu and is available just like built-in skins.
.vtskin Files
.vtskin is a small JSON file that stores one or more of your skins for different indicators. It is useful because:
- Moving between projects. Copy
.vtskininto another project folder, and Velitask will find it and show it in the Skin menu for matching indicators. - Sharing with colleagues. You can send the file, and the recipient will get your skins in their project.
- One file, many indicators. A single
.vtskincan store, for example, speedometer, compass, and slope graph skins: a whole style kit for one video style.
Velitask searches for .vtskin files in the project folder recursively. There are no global locations; each project uses its own set of files.
What Is Stored in a Skin
| Stored in a skin | NOT stored |
|---|---|
| Colors (fill, stroke, text) | Data source (which sensor the indicator shows) |
| Opacity | Layer size and position |
| Stroke width, corner radius | Binding to a Device Profile |
| Font and font size | Video layer audio settings |
| Display template (text formats) | |
| Graph parameters (scale, line width) |
The logic is simple: a skin is about appearance, not data. So when you switch a speedometer skin, you do not lose its GPX source binding; when you move a .vtskin to a new project, you do not bring someone else’s sources with it.
When the Skin Menu Does Not Appear
The Skin submenu is visible only for indicators whose author declared skins for them in the plugin. Some standard and custom indicators may have no skins; in that case, the submenu is simply hidden. This is normal.
Related Sections
- Mixel and Layers — what a Mixel layer is in general.
- Mixel Editor — how to add and configure indicators.
- Sensor Telemetry — what data indicators work with.
Importing Video Files
Velitask reads video through FFmpeg, so it understands almost any format from action cameras and smartphones: MP4, MOV, AVI, MKV, WebM, and others. Import is done by dragging a file into the window or through File → Import.
Why This Matters
Video is the basis of most projects. All indicators and graphs are overlaid on it. Velitask needs to see the video and read its duration, resolution, fps, and shooting date from metadata when available.
Files Velitask Understands
FFmpeg works under the hood, so the list of formats is very broad:
| Containers | Video codecs | Audio codecs |
|---|---|---|
| MP4, MOV, AVI, MKV, WebM, FLV, MPEG, TS, M4V | H.264, H.265 (HEVC), VP8, VP9, ProRes, DNxHD, MJPEG, MPEG-2 | AAC, MP3, AC-3, Opus, Vorbis, PCM |
Even uncommon formats like .MTS (AVCHD) or .gp usually open. If something does not open, it is usually a damaged file. A fallback is to resave it through any video editor and try again.
How to Add Video to a Project
Method 1. Drag-and-Drop
- Open File Explorer with the file you need.
- Drag
.mp4(or another video file) directly into the Velitask window: onto the source tree or the player canvas. - A Video → file-name node will appear in the tree. Velitask starts reading metadata in the background (the Tasks tab).
Method 2. Through the Menu
- File → Import…
- In the dialog, choose the video file.
- Velitask adds it to the project just like drag-and-drop.
Method 3. Several Files at Once
Drag several files at once. Velitask adds each as a separate source.
What Happens After Import
- Metadata reading. Duration, resolution, fps, codec, shooting date (if EXIF/metadata are present in the file).
- Device Profile creation. Velitask adds a new Profile to the tree or links to an existing one from filename hints (for example, the camera series). The default time zone comes from the parent folder Profile.
- Frame cache preparation. Preview frames are read on demand when you scrub the timeline. Long preliminary decoding is not started, saving time and space.
During import, the file itself is not copied into the project folder: Velitask stores a link to the source path. Do not move or delete the video while working with the project.
Where Video Is in the Mixel
After import, the video is not on the canvas yet. You need to place it as a layer:
- Open the Indicators tab and find the Video indicator.
- Drag it onto the canvas.
- In layer properties, select your video source.
See Mixel Editor for details.
Audio
The audio track is read, available in the player when enabled, and included in export. By default, audio is copied without transcoding; in export settings, you can transcode it to AAC.
Related Sections
- Supported Formats — detailed extension list.
- Importing GPX — adding a GPS track to video.
- Mixel Editor — how to place video as a layer.
- Troubleshooting — if a file does not open.
Troubleshooting
- The file did not open and the log has an FFmpeg error. Most likely the file is damaged or it is a stream without a header. Re-save the file in any video editor and try again.
- Velitask does not see the shooting date. Not all files contain date metadata. If it is missing, Velitask uses the file modification date; you need to set the correct time manually through the Device Profile.
- “Duration 0 sec.” The file was imported, but the player shows an empty timeline. This happens with files without a correct index. Re-saving the file in any video editor helps.
Importing GPS Tracks (GPX)
Velitask reads GPX files directly: a track becomes a set of sensors: Geo (coordinates), Distance, Elevation, Speed, Slope. Import is done by drag-and-drop or through the menu. Large tracks are imported in the background.
Why This Matters
A GPS track is the main source of numbers for a typical project: speed, distance, coordinates for the mini map, altitude, slope. Indicators over video usually work from GPX data.
What Velitask Does With GPX
After importing one .gpx, Velitask automatically creates several sensors, separate data channels:
| Sensor | Contents | Source |
|---|---|---|
| Geo | latitude, longitude | directly from GPX points. |
| Distance | distance covered from the start | calculated from coordinates. |
| Elevation | altitude above sea level | from GPX <ele> tags. |
| Speed | speed | calculated from distance and time. |
| Slope | slope | calculated from elevation and distance. |
If GPX contains additional fields (power from a bike computer, cadence, heart rate), they will become their own sensors: Watt, Cadence, Pulse, Meteo, and so on.
Import
Method 1. Drag-and-Drop
Drag .gpx into the Velitask window: onto the source tree or directly onto the canvas. Velitask recognizes the extension and starts import immediately.
Method 2. Through the Menu
File → Import… → choose .gpx.
What Happens Next
- A GPX → your-track.gpx node appears in the tree. Inside it is a list of sensors (Geo, Distance, Elevation, Speed, Slope, and so on).
- Progress is visible on the Tasks tab. Very large tracks (tens of thousands of points) take noticeably longer to import.
- After completion, sensors are available for binding to Mixel indicators.
Time in GPX
The GPX standard recommends UTC. Most devices write it that way, and Velitask keeps the time as is.
During import, Velitask creates a Device Profile for the GPX source. By default it inherits the parent folder Profile, but in most cases the correct GPX Profile is UTC, offset 0. See Time Model and Time Synchronization for details.
If GPX Has the “Wrong Duration”
GPX is a sequence of points with timestamps. If the first point has time T0 and the last has T1, the sensor duration will be T1 − T0. This is not tied to the video duration: one track may cover several video clips or, conversely, be shorter than the clip.
After import, you place layers using these sensors. Velitask automatically shows values only in the part of the timeline where the track exists.
Several Tracks in One Project
You can import several GPX files into one project; each becomes its own source. This is useful when you record a track on several devices at the same time (watch + bike computer) or want to compare tracks.
When creating an indicator layer, you choose exactly which GPX source to take data from.
Related Sections
- Sensor Telemetry — what a sensor is and how sensors are stored.
- Sensor Catalog — all types and measurement units.
- Time Model — why a Device Profile is needed.
- Database Editor — how to inspect imported points.
Troubleshooting
- GPX imported, but Speed is zero everywhere. Points have identical timestamps, or no timestamps at all. Velitask cannot calculate speed. Use another track source.
- There is no elevation and no graph. Not all GPX files write
<ele>. Without it, slope cannot be calculated either. - Import takes a very long time. This is normal for large tracks; they can contain tens of thousands of points. Watch progress on the Tasks tab.
- Track points are shifted in time. This is a Device Profile issue, not an import issue. See Time Synchronization.
Sensor Telemetry
A sensor is one measurement channel bound to a source: speed, distance, power, coordinates, temperature. Sensors are stored in the project database as sequences of atoms (points with timestamps).
Why This Matters
Every indicator on the Mixel canvas works with data: it takes that data from a sensor. To understand what an indicator will show and where the numbers come from, it helps to know how sensors are organized.
What a Sensor and an Atom Are
| Concept | Meaning |
|---|---|
| Sensor | one data channel for one source. For example, “speed from the GPX track morning-ride” or “power from the bike computer”. |
| Sensor atom | one measurement point: timestamp + value(s). Atoms are ordered by time and form a sensor sequence. |
| Sensor type | defines which fields the atom has. For example, a Geo atom has lat, lon; a Watt atom has voltage, amperage. |
One source can contain several sensors of different types. From one GPX this is typical: Geo + Distance + Elevation + Speed + Slope.
Where Sensors Come From
| Source | Sensors created from it |
|---|---|
| GPX track | Geo, Distance, Elevation, Speed, Slope; sometimes Watt, Cadence, Pulse, Meteo from additional GPX fields. |
| Video | does not create special sensors; frames themselves are a “sensor” only conditionally. |
| External loggers (CSV, FIT — future support) | based on field types in the file. |
For more about types, see Sensor Catalog.
How Sensors Are Visible in the Project
- Open the source tree (the Project tab).
- Expand any source to see its sensors.
- Double-click a sensor to open the Database Editor for that sensor (see Database Editor).
Storage
- All atoms are saved in the project database. This is a local file: no clouds, no network requests.
- Large tracks can produce tens or hundreds of thousands of atoms. The database handles this normally; the Database Editor uses paged display for viewing.
Raw and Processed Values
Velitask does not clean up sensor data for you. What was recorded is what is stored. If a GPX track contains speed spikes, for example 200 km/h on a bicycle because of a GPS glitch, they will enter the sensor as is, and the indicator will show them too.
What you can do about this:
- Edit atoms manually through Database Editor: replace or delete peak values.
- Use Sensor Row Editor to see how one point affects an indicator.
Sensor and Time
Each atom carries its own raw device time. Through the Device Profile, it becomes UTC and lands on the shared Mixel timeline. That is why the correct Profile is not a formality but the basis of correct synchronization.
Related Sections
- Sensor Catalog — all types and units.
- Importing GPX — the main way to get sensors.
- Database Editor — viewing and editing atoms.
- Sensor Row Editor — previewing a single atom.
- Time Model — how raw time becomes UTC.
OSM Tiles
Velitask shows the mini map through OpenStreetMap (OSM). Tiles (square map pieces) are downloaded as needed and cached to disk, so repeated viewing of the same region works offline.
Why This Matters
A mini map with a current-position marker and track is one of the main indicators in cycling and travel videos. Velitask takes the map image from OpenStreetMap servers. To make this fast, independent of the internet during export, and gentle on OSM servers for every frame, tiles are cached locally.
How It Works
- When the GeoMap indicator is in a Mixel, it determines the needed region and zoom level.
- The map is split into square tiles (256×256 pixels).
- Velitask checks whether each tile exists in the local cache:
- Exists: takes it from the cache immediately.
- Missing: downloads it from the OSM server in the background and stores it in the cache. For an already rendered area, a placeholder or previous level is used.
Where the Cache Is Stored
%USERPROFILE%\.velitask\osm-cache\
The structure is standard for OSM, by zoom level and tile coordinates. The cache is not cleaned automatically. Over time, the folder may grow to hundreds of megabytes or gigabytes if you have used projects in many regions.
It is safe to delete the cache. Velitask will simply download the needed tiles again. This does not affect project results.
Offline Work
If you render the map for the needed region and zoom levels once, it is available offline afterward. A useful technique before a trip without internet:
- Import the GPX in advance.
- Place the GeoMap indicator into the Mixel.
- Scrub the entire timeline at the needed zoom level; Velitask will load all tiles along the track.
- You can then work without network access.
OSM Server Limits
OpenStreetMap.org servers are public and free, but they have a fair-use policy: dozens of simultaneous requests from one IP may lead to a temporary block. Velitask tries to respect this: it limits parallel downloads, caches tiles, and does not download the same tile repeatedly.
If you plan very intensive map work, the tile source can be changed in the map settings.
What Is Shown on the Map
The map itself is just the background. The GeoMap indicator draws over it:
- Track — a line through Geo sensor points.
- Current position marker — at the location corresponding to the Mixel cursor UTC time.
- Optional direction and current point information, depending on indicator settings.
Related Sections
- Importing GPX — where the map track comes from.
- Mixel and Layers — how to add a map as a layer.
- Mixel Editor — GeoMap indicator settings.
Troubleshooting
- The map is gray and tiles do not load. Check internet access. If you are behind a proxy, Velitask has no built-in proxy setting and relies on the system configuration.
- The map works, but there is a hole in one place. The cache for these tiles is damaged. Delete the corresponding subfolder in
osm-cacheor the whole cache. - The cache takes a lot of space. This is normal for active users. Delete the entire
osm-cachefolder; Velitask will recreate it as needed. - Tiles look blurry. You are viewing the map at a zoom level whose proper tiles have not been loaded yet. Scroll or change zoom; Velitask will load the needed tiles.
Sources Panel
The left Project tab is the tree of all project sources and sensors. Here you add, delete, group, rename data, and double-clicking a node opens the corresponding editor.
Why This Matters
Velitask stores all project data (video, GPX, images) as sources in one tree. From this tree, you can:
- see everything in the project in one place;
- group sources into folders, for example by trip day;
- quickly open data for viewing and editing;
- drag sources directly into the Mixel to create a layer.
How the Tree Is Organized
Tree nodes:
| Node type | Meaning |
|---|---|
| Project root | Invisible top node. All other nodes are its children. |
| Folder | Arbitrary grouping node. Can contain other folders or sources. |
| Video source | One video file and its related metadata. |
| GPX source | One GPX file, expandable into a set of sensors. |
| Image source | An image (PNG/JPG/...). |
| Sensor | A source subnode, an expanded list such as Geo, Speed, Distance, and so on. |
Nodes have their own icons by type.
What You Can Do in the Tree
| Action | How |
|---|---|
| Add a source | Drag a file into the window or use File → Import… |
| Create a folder | Context menu on a node → Create folder |
| Rename | F2 on the selected node or context menu |
| Move | Drag the node inside the tree |
| Delete | Context menu → Delete (the source is removed from the project; the original file remains on disk) |
| Open in editor | Double-click |
| Place into Mixel | Drag the node onto the player canvas |
Cards and Hints
Sources show additional indicators:
- Import status check/icon (whether sensor data is already in the database).
- Progress indicator for sources currently being imported.
- Icon of the Device Profile bound to the source.
Source Context Menu
Right-clicking a source opens a menu with typical actions:
- Open — same as double-click.
- Rename.
- Bind Device Profile… — choose or create a time Profile.
- Create layer in Mixel — quickly insert it as a layer.
- Show in DB — open Database Editor for sensor sources.
- Delete — remove from the project.
Related Sections
- Importing Video, Importing GPX — how to populate the tree.
- Sensor Telemetry — about sensors inside sources.
- Mixel Editor — where to drag a source.
- Time Synchronization — about Device Profiles.
Time Synchronization
For indicator values to match what happens in the video, every source must have the correct Device Profile. This section is practical: where to look, how to edit, how to check.
Why This Matters
If the speed indicator says “37 km/h” while the person in the video is standing still, one of the sources is shifted in time. Velitask lives in a single UTC scale, but the correctness of that UTC depends on the Device Profiles that convert raw time to UTC.
See Time Model for the theory.
Where and What to Configure
All Profiles are on the Devices tab in the left panel. Each Profile is a separate card.
| Field | What to set |
|---|---|
| Name | human-readable, so you can tell “GoPro” from “Garmin”. |
| Source type | usually leave unchanged; Velitask detects it automatically. |
| Time zone | the time zone used by the device clock during recording. |
| Offset, sec. | how much the clock was fast/slow (positive = the clock was fast). |
Typical Configurations
Action-Camera Video
Cameras write local time according to their internal clock. Ask yourself:
- Which time zone was the camera set to? Use this value in the tz field.
- Was the clock off by several seconds? This is the offset.
Check: take a frame linked to something objective (start signal, passing a known point) and compare it to the same moment in GPX. Difference in seconds means you adjust offset. Difference in hours means you adjust the time zone.
GPX Track
In the vast majority of cases, GPX uses UTC with offset 0. Do not change it unless you are sure the device writes differently.
Several Sources From One Device
If you have three clips from one GoPro, it is convenient to assign one Profile, “GoPro Hero 11”, to all three through the parent folder. Then editing the Profile in one card affects all clips.
Synchronization Scenario
- Import video and GPX (see Your First Project).
- Open Devices. Velitask automatically created one Profile per source.
- For GPX, keep
UTC, offset0. - For video:
- Set the camera time zone (the one its clock used during shooting).
- Keep offset as
0for now.
- Place Video and Speed (text) layers into the Mixel, with speed from the GPX sensor.
- Find a moment you can compare precisely: the video shows a stop, and the GPX speedometer also drops to zero.
- If the stop in the video and zero speed in GPX differ by N seconds, enter N as the video Profile offset. Sign: if the video is “late” compared to GPX, the offset is positive.
- Confirm the change and check again. Adjust if needed.
Group Synchronization
After one camera Profile is configured, copy it to other cameras of the same model by binding it to a shared folder.
Checking After Edits
- Move the cursor to different parts of the timeline and make sure values move together with the video.
- For long tracks, checking the beginning and the end is usually enough. If both points match, the middle almost always matches too.
Related Sections
- Time Model — the theory behind what you are adjusting.
- Importing GPX, Importing Video — what enters the tree.
- Troubleshooting — common desynchronization cases.
Troubleshooting
- Shift by exactly one hour (or N hours). This is the time zone. The camera used a different time zone from the one set in the Profile. Set the correct time zone and keep offset 0.
- Shift by an arbitrary number of seconds. The device clock was inaccurate. Adjust the offset.
- The shift is different in different parts of the video. Most likely, the clock drifted noticeably during recording; this is typical for older cameras. A Profile cannot fully fix this. Use only part of the video or accept the error.
- GPX and video match perfectly at the start but diverge at the end. Same case: clock drift. This is especially common with cheap GPS devices whose time is not corrected from satellites.
Mixel Editor
Mixel is the main composition editor. Here you add layers, bind them to sources, move and scale them, play back, and check the result.
Why This Matters
Everything that enters the final video passes through the Mixel: a video layer at the bottom, indicators over it. The Mixel Editor is not a separate window, but the central Velitask player itself: what you see on launch is the editor.
Main Elements
| Element | What it does |
|---|---|
| Canvas in the center | a rectangle with the configured resolution. The final image is assembled on it. |
| Timeline below the canvas | current UTC position. It can be dragged with the mouse and scrolled with the wheel. |
| Playback buttons | ▶/⏸, ⏮/⏭ (start/end), ⬅/➡ (previous/next frame). |
| Layer list on the Layers tab | hierarchy. The top of the list is drawn above in the frame. |
| Layer properties in the right panel | parameters of the selected layer. |
| Indicator catalog on the Indicators tab | what can be placed into the Mixel. |
Adding a Layer
From the Indicator Catalog
- Open the Indicators tab.
- Find the indicator you need, for example Speed text.
- Drag it onto the canvas or into the Layers list.
- Velitask creates the layer and opens its properties on the right.
From the Source Tree
- Open the Project tab.
- Drag a video or sensor directly onto the canvas.
- Velitask chooses a suitable indicator type by itself (Video for video, Speed text for speed, and so on) and immediately links it to the source.
Through the Context Menu
Right-click the canvas or layer list → Add… → choose an indicator.
Binding to a Source
An indicator layer usually needs a source sensor. This field is shown in properties. For most types:
- One indicator uses one sensor. For example, Speed text is linked to one speed sensor.
- Some indicators can accept several sensors, for example GeoMap + track + optional marker.
If no source is set, the indicator shows a placeholder or “—”.
Moving and Scaling
Layer properties include coordinates, width, and height. Ways to edit them:
- Move directly on the canvas with drag-and-drop.
- Resize using corner or edge handles.
- Enter exact values in properties.
- Enable anchor binding, for example “to the bottom-right corner of the canvas with a 24 px margin”.
Most values are set either in pixels or as percentages of the canvas. Percentages are convenient if you plan to export in different resolutions, because the layer scales automatically.
Grouping
Several layers can be combined into a Group. A group moves and scales as one unit, while the relative placement inside it is preserved. This is useful for keeping together a background + text + icon, for example a “distance card”.
Layer Skins
Right-click an indicator layer → Skin submenu to see built-in and custom visual options. One click changes the whole set of visual properties (colors, stroke, opacity) at once. See Indicators and Plugins → Indicator Skins for details.
Video Layer
The video layer is special: its frame changes depending on the current UTC time and Device Profile. Outside the video source range on the timeline, the layer shows a black background or empty content depending on settings.
Several video layers can be placed side by side, for example picture-in-picture (PiP) or comparison between two cameras.
Saving
A Mixel is saved as part of the project. All your layer moves, properties, and indicator settings are written to the project database. There is no separate Save Mixel button: changes are saved automatically.
If you need to reuse a composition in other projects, export it as a .vttp template through File → Export → Template.... Regular editor work and a JSON template describe the same composition: the editor changes it visually, while JSON changes it structurally. Details: Mixel JSON and Templates.
Related Sections
- Mixel and Layers — the theory.
- Indicators and Plugins — what is in the catalog.
- Sensor Telemetry — what data indicators use.
- Video Export — what the Mixel becomes as a file.
- Mixel JSON and Templates —
.vttpexport and application. - Mixel Layouts in JSON — precise layer placement in
.vttp.
Database Editor
Database Editor is a table view of project sensor atoms. It opens for a sensor, shows rows with timestamps and values, and allows navigation, filtering, and editing.
Why This Matters
Most users work with sensors through indicators and do not think about the table under the hood. But sometimes you need to look into the data: check that import did not lose points, find a speed spike, remove an erroneous record, or see when a GPX track changed from movement to stop.
The Database Editor is the project tool for all of this.
How to Open
- Double-click a sensor in the source tree.
- Sensor context menu → Open in DB.
- Tools → Database Editor → choose sensor.
A window/tab with a table opens.
Main Window Elements
| Element | What it does |
|---|---|
| Header | sensor name, type, total row count. |
| Atom table | rows with columns. Each sensor type has its own column set. |
| Navigation buttons | beginning / end / next page / previous page. |
| Filter (if applicable) | by time range or value range. |
| Preview (in sensor row editor mode) | mini Mixel at the current point; see Sensor Row Editor. |
Table Columns
Columns depend on sensor type. Common to all:
| Column | What it shows |
|---|---|
| ID | internal atom identifier (continuous numbering). |
| Index | ordinal atom number in the sensor. |
| Time | atom UTC time. |
| Duration | how long the value applies until the next atom, if applicable. |
Additional columns by type:
| Sensor type | Additional columns |
|---|---|
| Geo | lat, lon |
| Watt | Power (W) |
| Speed | value (m/s or km/h depending on setting) |
| Distance | value (m) |
| Slope | value (%) |
| Cadence | rpm |
| Elevation | value (m) |
| Meteo | temperature, humidity |
See Sensor Catalog for details.
What You Can Do
| Action | How |
|---|---|
| Go to a needed time | enter UTC time in the filter or scroll the table. |
| Find maximum/minimum | sort the table by column. |
| Delete a spike | select row → context menu → Delete. |
| Adjust a value | double-click a cell (for editable fields). |
| Open atom preview | double-click a row → Sensor Row Editor opens. |
Saving Changes
Changes made in Database Editor are saved automatically to the project database. You can undo through the project-wide Undo if your version supports it, or manually edit again.
Warning: deleted atoms can be restored only by reimporting the source file. Make important edits on a project copy.
Related Sections
- Sensor Telemetry — what a sensor atom is.
- Sensor Row Editor — opens from the DB editor for a specific row.
- Sensor Catalog — all types and columns.
Sensor Row Editor
Sensor Row Editor shows one sensor point (one database row) next to a Mixel preview at that moment. It is useful when you need to understand exactly how one point affects indicators and video.
Why This Matters
Viewing data in Database Editor shows it in a table. But sometimes you want to see exactly what the Mixel will show at that instant. For example:
- Correct an erroneous value and immediately check how it looks in the frame.
- Understand which track point a specific atom corresponds to.
- Check that an imported atom really matches a video fragment.
Sensor Row Editor is a small Mixel player bound to the selected atom.
How to Open
- Double-click a row in Database Editor.
- From the context menu in the DB editor.
A window opens with two halves:
- Left: a form with atom fields (Time, value, and so on).
- Right: Mixel preview at the atom time.
What Is Inside
Left Half: Atom Form
- Fields by sensor type (for example, lat/lon for coordinates, power value for Watt).
timefield: UTC timestamp.- ← Prev / Next → navigation buttons: move to neighboring atoms of the same sensor by time.
- Save button is active when there are unsaved changes. You can enable the Auto-save checkbox; edits will then be saved automatically after a delay.
Right Half: Mixel Preview
- Canvas with the same layers as the project main Mixel, or a simplified set depending on preview settings.
- Time slider, which lets you play with the cursor position near the atom.
“Copy Main Mixel”
The right half has a Copy main Mixel button. It replaces the preview Mixel with a copy of the main one. This is useful when you want to see the atom in the context of the full composition instead of a simplified preview scheme.
Typical Scenario
- In Database Editor, you find a suspicious atom, for example speed 200 km/h.
- Double-click it to open Sensor Row Editor.
- In the right preview, you see the corresponding frame and indicators.
- You see that the bicycle is standing still on the video, but the indicator still shows 200 km/h: a GPS spike.
- Edit the value in the form on the left and click Save, or wait for Auto-save.
- The preview updates, and the indicator shows the corrected value.
- Use ←/→ to move to neighboring atoms and check the surrounding data.
Related Sections
- Database Editor — opens before this editor.
- Sensor Telemetry — what an atom is.
- Mixel and Layers — what the preview shows.
Video Export
The finished Mixel is saved to a video file through File → Export → Video…. H.264 (MP4), QTRLE, and ProRes (MOV) are supported. All frames are rendered through FFmpeg in a background task.
Why This Matters
The final purpose of a project is to get a file you can send to friends, upload to YouTube, or show on a TV. Velitask builds a video file from the Mixel: video layer + all indicators over it, plus audio from the source video.
Starting Export
- Open the project and the assembled Mixel.
- File → Export → Video…
- A settings dialog appears.
- Fill in the parameters (see below) and click Start.
- Progress appears on the Tasks tab. When complete, the finished file is in the selected folder.
You can keep working in Velitask while export runs in the background.
Dialog Parameters
Range
| Parameter | Meaning |
|---|---|
| Start | UTC start time of export. By default, the Mixel start. |
| End | UTC end time. By default, the Mixel end. |
| Length | Derived value: End − Start. |
You can export only part of a Mixel, for example one ride from the entire project.
Codec and Container
| Codec | Container | When to choose |
|---|---|---|
| H.264 | MP4 | Most universal. Opens everywhere, small size, visually minimal loss. Default recommendation. |
| QTRLE | MOV | Lossless, but huge. Used as a master for later editing. |
| ProRes | MOV | Professional master codec, especially popular in Final Cut and DaVinci Resolve workflows. Large size, high quality. |
Resolution and FPS
- Resolution — presets (low / medium / high) or custom resolution. For most codecs, it should be divisible by 2.
- FPS — frames per second. Common values: 25, 30, 50, 60. The maximum is usually limited by the source video fps.
Higher resolution and fps make export slower and the file larger.
Audio
| Option | Meaning |
|---|---|
| Copy | Copy the audio track from the source video without transcoding. Fastest and lossless. |
| AAC | Transcode to AAC. Useful if the source audio format is not understood by H.264-MP4. |
| None | No audio. |
How Export Works
- Velitask walks the timeline from Start to End with a step of 1/fps.
- For each frame, it assembles the Mixel: video sources, indicators, shapes; everything is drawn into one image.
- The image is passed to the selected codec through FFmpeg.
- Audio is taken from the source video and transcoded if needed.
- Finished frames and audio are packed into the container (MP4 or MOV).
Export speed depends on:
- Resolution and fps.
- Number and complexity of layers, especially maps and graphs.
- CPU performance (decoding and encoding are software-based).
- Disk speed (lots of source-video reading and output-file writing).
Related Sections
- Video Export Presets — save a set of encoding settings.
- Supported Formats — details about input/output formats.
- Image Export — for a poster or preview.
- Troubleshooting — if export fails or hangs.
Troubleshooting
- Export is stuck at N%. Open the logs (
%USERPROFILE%\.velitask\logs\velitask.log). Sometimes FFmpeg hits a damaged fragment of the source video. - There is no audio in the file. Make sure Audio is not set to None. If Copy is selected but there is still no audio, the source audio codec may be incompatible with MP4. Choose AAC.
- The file size is very large. You probably selected QTRLE or ProRes. This is normal for master codecs. Use H.264-MP4 for sharing or publishing.
- Export takes too long. Lower the resolution or fps. Maps and graphs are the heaviest indicators; temporarily disable them if you need a quick export.
Image Export
One Mixel frame is saved as PNG or JPG through File → Export → Image…. Useful for posters, video previews, and social networks.
Why This Matters
Sometimes you do not need a video file; you need one nice image with overlaid indicators:
- a poster for a YouTube video;
- an illustration for a blog;
- a frame for a report or presentation;
- a quick snapshot of an interesting moment.
Image export does exactly this: it renders the Mixel at one moment in time and saves it to a file.
How to Do It
- Place the timeline cursor on the needed frame.
- File → Export → Image…
- In the dialog, specify:
- File — output path and file name. The extension determines the format (
.png/.jpg). - Resolution — keep the Mixel resolution or specify your own.
- File — output path and file name. The extension determines the format (
- Click Save.
The file is created instantly. A background task in Tasks usually does not start because the amount of work is small.
Formats
| Format | When to choose |
|---|---|
| PNG | Lossless. Better for screenshots with text and graphics. Larger size. |
| JPG | Lossy. Better for photorealistic frames. Smaller size. Text may become slightly blurred. |
Related Sections
- Video Export — for a video file.
- Supported Formats — detailed list.
- Mixel Editor — configuring the composition before export.
Video Export Presets
A video export preset is a saved set of parameters from the File → Export → Video dialog: codec, resolution, fps, audio. Configure it once and use it in every project.
Why This Matters
Export parameters are usually the same for many videos: “H.264, 1080p60, AAC”. Filling the dialog again every time is unnecessary work. A preset saves these parameters under a name and applies them with one button.
Do not confuse video export presets with Mixel templates. An export preset controls how the video file is encoded. A Mixel template controls which layers and indicators are in the composition. For composition templates, see Mixel JSON and Templates.
How to Use It
How to Create a Preset
- Open File → Export → Video…
- Configure all parameters as needed.
- In the dialog, find Save preset (or the floppy disk icon).
- Enter a preset name: “YouTube 1080p”, “Master ProRes”, “Instagram 1:1”.
- Confirm.
The preset is saved in Velitask settings and is available from any project.
How to Apply a Preset
- Open the export dialog.
- At the top, choose the needed value in the Preset dropdown.
- All fields are filled according to the saved parameters.
- Adjust the settings for this specific export if needed, for example the range.
- Click Start.
What Is Included in a Preset
| Field | Included in preset |
|---|---|
| Codec / container | yes |
| Resolution | yes |
| FPS | yes |
| Bitrate / quality | yes |
| Audio (Copy / AAC / None) | yes |
| Start/End range | no — this is always set for the specific export. |
| Output file path | no. |
So a preset is about how to encode, not “what to export and where to save the file”.
When Several Presets Are Useful
| Preset | Parameters |
|---|---|
| YouTube 1080p | H.264, 1920×1080, 60fps, AAC. |
| Instagram square | H.264, 1080×1080, 30fps, AAC. |
| Master | ProRes / QTRLE, source resolution, source fps, Copy. |
| Quick preview | H.264, 1280×720, 30fps, AAC, low quality — for fast preview. |
Related Sections
- Video Export — parameter details.
- Mixel and Layers — what actually goes into the export.
- Mixel JSON and Templates —
.vttpcomposition templates. - Supported Formats.
Supported Formats
Velitask reads almost any video through FFmpeg, GPS tracks in GPX, and images in the main raster formats. Output: H.264 in MP4, QTRLE and ProRes in MOV, images in PNG/JPG.
Video Input
FFmpeg works under the hood, so the list is very broad. Real limitations are mostly damaged or unusual files.
Containers
| Extension | Comment |
|---|---|
.mp4, .m4v | main action-camera format. |
.mov | Apple format, typical for iPhone and professional cameras. |
.avi | older format, sometimes found. |
.mkv | universal container. |
.webm | web video (VP8/VP9). |
.flv | Flash video, rare. |
.mpeg, .mpg, .ts, .m2ts, .mts | TV/AVCHD formats. |
Video Codecs
H.264 (AVC), H.265 (HEVC), VP8, VP9, AV1 (if supported by your FFmpeg build), ProRes, DNxHD, MJPEG, MPEG-2, and dozens of less common codecs.
Audio Codecs
AAC, MP3, AC-3, Opus, Vorbis, PCM, FLAC.
Video Output
Velitask encodes through FFmpeg. Available:
| Codec | Container | Use |
|---|---|---|
| H.264 / AVC | .mp4 | universal, recommended by default. |
| QTRLE | .mov | lossless, but huge. Master copy. |
| ProRes 422 | .mov | master for post-production. |
Output audio:
- Copy — without transcoding (fast, lossless).
- AAC — MP4 standard.
GPS Tracks
| Format | Read | Write |
|---|---|---|
| GPX 1.0 / 1.1 (XML) | yes | — |
| FIT (Flexible and Interoperable Data Transfer — sports tracker file format: Garmin, Wahoo) | planned | — |
| TCX, KML | not supported | — |
Additional GPX fields from Garmin (power, cadence, heart rate) are read.
Images
| Format | Read (source) | Write (export) |
|---|---|---|
| PNG | yes | yes |
| JPG / JPEG | yes | yes |
| GIF | yes | — |
| WebP | yes | — |
| BMP | yes | — |
| TIFF | through FFmpeg | — |
Maps
OpenStreetMap (256×256 tiles). Alternative tile servers can be configured, but the standard distribution uses only OSM.
Mixel Templates
| Format | Read | Write | Purpose |
|---|---|---|---|
.vttp | yes | yes | Mixel template: layers, indicators, placement, and properties |
.vttp can be applied manually or placed into a templates folder so Velitask uses it as the default composition for new sources. Details: Mixel JSON and Templates.
Related Sections
Sensor Catalog
Sensors are data channels in a project. Velitask stores its own field set for each type. This section lists all supported types with measurement units and origins.
Why This Matters
When you choose a data source for a Mixel indicator or filter rows in Database Editor, you see the sensor type. This section is a reference for what to expect from each type.
Type Table
| Type | What it measures | Units | Source |
|---|---|---|---|
| Geo | geographic coordinates | latitude/longitude, ° | GPX points. |
| Distance | distance covered from start | m (shown as km / miles in indicators) | calculated from Geo. |
| Wheel (Wheel Sensor) | distance by wheel sensor | m | external sensor (FIT format — Flexible and Interoperable Data Transfer, sports tracker files) or additional GPX fields. |
| Speed | speed | m/s (shown as km/h or mph) | calculated from Distance / GPX-Speed. |
| Elevation | altitude above sea level | m | GPX <ele>. |
| Slope | slope | % | calculated from Elevation and Distance. |
| Cadence (Cadenc) | cadence (pedaling) | rpm | bike computer, additional GPX fields. |
| Watt | power | W | bike computer, additional GPX fields. |
| Pulse / Heart rate | heart rate | bpm | heart rate monitor. |
| Meteo | temperature and humidity | °C, % | external weather sensor. |
| Ga (Acceleration) | acceleration | m/s² | accelerometer, if supported. |
Atom Fields
Each atom is a record with a timestamp and values for fields of this type. Common fields for all types:
| Field | Description |
|---|---|
| id | internal ID. |
| index | ordinal atom number. |
| time | UTC time. |
| duration | active duration, if applicable. |
Additional fields by type:
| Type | Atom fields |
|---|---|
| Geo | lat, lon |
| Distance | value |
| Speed | value |
| Elevation | value |
| Slope | value |
| Cadence | rpm |
| Watt | Power (W) |
| Pulse | bpm |
| Meteo | temperature, humidity |
| Ga | x, y, z |
Related Sections
- Sensor Telemetry — general concept.
- Importing GPX — the main source of sensors.
- Database Editor — where to view atoms.
Shortcuts
Summary of the main keyboard shortcuts in Velitask. On macOS,
Cmdis used instead ofCtrl.
File and Project
| Shortcut | Action |
|---|---|
Ctrl+N | Create a new project. |
Ctrl+O | Open an existing project. |
Ctrl+S | Save the project. |
Ctrl+, | Open project settings. |
Ctrl+Q | Exit the application. |
Import and Export
| Shortcut | Action |
|---|---|
Ctrl+I | Import a file (video, GPX, image). |
Ctrl+E | Export video. |
Ctrl+Shift+E | Export image. |
Playback
| Shortcut | Action |
|---|---|
Space | Play / Pause. |
Home | Go to the beginning of the Mixel. |
End | Go to the end of the Mixel. |
← / → | Previous / next frame. |
Shift + ←/→ | Previous / next second. |
Mixel Layers
| Shortcut | Action |
|---|---|
Ctrl+D | Duplicate the selected layer. |
Delete | Delete the selected layer. |
Ctrl+G | Group selected layers. |
Ctrl+Shift+G | Ungroup. |
General
| Shortcut | Action |
|---|---|
Ctrl+Z | Undo. |
Ctrl+Y or Ctrl+Shift+Z | Redo. |
F2 | Rename the selected node in the source tree. |
F1 | Open documentation. |
Esc | Close the current dialog / clear selection. |
Note
The exact set of shortcuts may differ slightly from version to version. If a shortcut does not work for you, check the hint next to the menu item (Velitask shows it in parentheses), or look in View → Keymap if your version has that item.
Related Sections
- Interface Overview — where to find each of these actions with the mouse.
- Mixel Editor.
Frequently Asked Questions (FAQ)
Short answers to the most common questions. If you do not find what you need here, see Troubleshooting.
Is Velitask free?
Yes. It is a desktop app downloaded from velitask.com.
What Data Does Velitask Send to the Internet?
Only requests for OSM tiles (the map). Projects, videos, and tracks themselves do not go anywhere; they are stored locally on your computer. Without internet, the app works except for downloading new map fragments.
Where Are Projects Stored?
In the folder you selected when creating the project. Inside it is the project database with metadata and sensors. Video and GPX files themselves are not copied; Velitask stores links to the original files.
How Many Projects Can Be Open at the Same Time?
In the current version: one. To switch to another project, close the current one and open a new one.
Can Velitask Be Used for Cars / Boats / Paragliding / Running?
Yes. Conceptually it is not tied to cycling; any activity with a GPS track and video works. Some indicators, such as cadence, are cycling-specific, but they are optional.
What Is a Mixel?
In Velitask, Mixel is the final composition: a canvas with layers that you see in the player and get during export. Users work with the Mixel by adding layers and configuring their properties.
How Is a Plugin Different From an Indicator?
A plugin is an external module (.jar file) that brings a set of indicators. An indicator is a specific widget that you place as a layer into a Mixel. In other words, a plugin is the supplier, and an indicator is the catalog item.
Can I Work With Velitask Projects on macOS / Linux?
Velitask is officially supported only on Windows for now. macOS and Linux versions are planned; ready installers are not available yet.
What Happens to a Project If I Rename the Source Video File?
Velitask loses the link to that file. An indicator “file not found” appears next to the node in the source tree. You can restore the link by opening the source properties and specifying the new path.
Can Velitask Edit Video (Cut, Join, Effects)?
No. Velitask creates overlays: indicators over video. Video editing is not its task. First cut/join the video in a video editor, then import the finished file into Velitask.
Can I Save a Mixel Template With Indicators and Apply It to New Projects?
Yes. Configure the Mixel in the editor, then choose File → Export → Template... and save .vttp. You can apply this template manually through Tools → Apply Template... or place it into a templates folder so Velitask uses it for new sources automatically. Details: Mixel JSON and Templates.
How Long Does Export Take?
It depends heavily on clip length, resolution, fps, and layer complexity. Roughly, exporting a 5-minute 1080p60 video with a typical indicator set on a modern CPU takes 5–15 minutes.
Can I Continue Export After an Error?
No. Export always starts from the beginning of the selected range. If it failed at 99%, you need to start again, but you can shorten the range.
Does Velitask Support Several Cameras at Once (Multicam)?
You can place several video layers in one Mixel, for example picture-in-picture. Full multicam editing with switching between cameras is not supported.
Where Can I Get Help If Something Does Not Work?
- Troubleshooting in this documentation.
- Logs:
%USERPROFILE%\.velitask\logs\velitask.log. - Project site velitask.com, which usually has contacts.
Troubleshooting
What to do when Velitask does not behave as expected. A list of symptoms, causes, and fixes. If none of the items below helps, collect logs (see the end) and contact support.
Velitask Does Not Start
| Symptom | Cause | What to do |
|---|---|---|
Double-clicking .exe does nothing | Windows blocks an unverified binary | File properties → Unblock. Or: right-click → Run as administrator. |
| “JRE not found” error when running from ZIP | ZIP was not fully extracted | Extract the entire archive into a normal folder; do not run from the archived .zip. |
| Antivirus deletes the file | Velitask is not signed with a corporate certificate | Add the Velitask folder to antivirus exclusions. |
| “Access denied” error on launch | No permissions for the folder | Install Velitask into the profile folder or run as administrator. |
Import
| Symptom | Cause | What to do |
|---|---|---|
| Video does not open | damaged file or rare codec | re-save the file in any video editor. |
| GPX imported, but Speed is 0 everywhere | the track has no timestamps or they are identical | use another track source. |
| GPX import is very slow | large file (tens of thousands of points) | wait for completion; progress is on the Tasks tab. |
| After import, video duration = 0 | damaged container index | re-save the file in any video editor. |
| Drag-and-drop does not work | the app is running as administrator | Windows blocks drag-and-drop between processes with different privilege levels. Run Velitask without administrator privileges. |
Time and Synchronization
| Symptom | Cause | What to do |
|---|---|---|
| Indicators are shifted by exactly one hour (or N hours) | incorrect Profile time zone | fix the time zone in the Device Profile. |
| Indicators are shifted by N seconds | device clock was fast/slow | enter the offset in the Profile. |
| The shift is different in different parts of the clip | device clock drift | cannot be fully fixed; either accept the error or use only part of the clip. |
| GPX and video do not overlap in time | different time zones or different dates | check Profiles; make sure the shoot and the track are from the same day. |
See Time Synchronization for details.
Map
| Symptom | Cause | What to do |
|---|---|---|
| The map is gray and tiles do not load | no internet or proxy | check the network; for proxy, use system settings. |
| There is a “hole” in one map area | cache for these tiles is damaged | delete the subfolder in osm-cache or the whole cache. |
| Map is blurry | zoom level whose tiles have not been loaded yet | scroll/change zoom; Velitask will load them. |
| OSM cache takes a lot of space | accumulated from different projects | delete the entire %USERPROFILE%\.velitask\osm-cache\ folder. |
Mixel and Indicators
| Symptom | Cause | What to do |
|---|---|---|
| Indicator shows “—” or 0 | data source is not set | choose a sensor in layer properties. |
| Layer is not visible on the canvas | layer is outside the canvas or below others | check coordinates in properties; move it in the Layers list. |
| Video in the Mixel does not play | source file is missing | specify the new path in source properties. |
| Map does not show the track | Geo sensor is not linked | choose a GPX source in GeoMap properties. |
| New source opened without the expected template | .vttp was not found, named incorrectly, or placed in the wrong folder | check video.vttp, gpx.vttp, source-name templates, and the user templates folder. |
Old layers disappeared after applying .vttp | a template replaces the current composition | restore the project from a saved version or export the current Mixel as .vttp beforehand. |
For template search and checking rules, see Mixel JSON and Templates.
Export
| Symptom | Cause | What to do |
|---|---|---|
| Export failed at N% | FFmpeg error or damaged frame | check logs; you may need to shorten the range or simplify the Mixel. |
| No audio in the file | None selected or incompatible codec | choose AAC or Copy. |
| File size is very large | QTRLE or ProRes selected | use H.264-MP4 for publishing. |
| Export takes too long | complex Mixel or high resolution | temporarily disable heavy layers (map, graphs); lower resolution or fps. |
| Exported video has no indicators | indicators are outside the export range | check that Start/End really cover the needed fragment. |
Performance
| Symptom | Cause | What to do |
|---|---|---|
| Velitask is slow when opening a large project | slow disk or little RAM | move the project to SSD; add RAM. |
| Preview lags when scrubbing | large video resolution | reduce the player window or temporarily disable some layers. |
| Hang on startup | Velitask checks project source files | wait for completion; if it does not proceed, close it and move files to a fast disk. |
Logs
If none of the listed fixes helps, you will need the log:
- Log file:
%USERPROFILE%\.velitask\logs\velitask.log. - What it contains: chronological application events and errors.
- What to do: restart Velitask, repeat the problematic action, copy the fresh part of the log to a file, and send it to support.
Resetting Application Settings
If the application settings are clearly broken (theme, last project, cache), you can reset them:
Remove-Item -Recurse "$env:USERPROFILE\.velitask"
After that, Velitask starts from a clean state. This does not touch your projects: they are stored in the project folder you selected, not in .velitask.
Related Sections
- Installation — requirements and installation problems.
- Interface Overview, Your First Project.
- Time Synchronization — the main source of confusing behavior.
- Supported Formats — if something does not open.
- Mixel JSON and Templates — if
.vttpwas not applied. - Mixel Layouts in JSON — if a layer appeared in the wrong place.