Sample footage
The capture_20180923 companion package: three two-hour
recordings of a real landing hill, one per camera. Optional, but the only way to exercise the
whole pipeline — motion detection, triggering, merging, encoding, measurement — with
no cameras attached.
- What it is and why you would want it
- Specifications
- Package contents
- Downloading
- Installing
- Verifying
- Using it with VDM
- Problems
What it is and why you would want it
Three synchronised recordings from a capture session on 23 September 2018, one from each of the three hill cameras, each two hours long. They are reference input for the application, not output from it — the practice player reads them back into the feed shared memory exactly as if three live cameras were delivering frames, and everything downstream behaves normally.
That makes them useful for:
- Proving a fresh install works end to end before you are standing at a venue with three cameras and a deadline.
- Tuning motion thresholds against known footage, where you can re-run the same jumpers repeatedly and compare results.
- Rehearsing the operator workflow — triggering, measuring, recording distances — without a hill.
- Reproducing a bug on input a developer also has.
Entirely optional
VDM installs and runs without this package. It is a separate download precisely because 5.57 GiB has no business in an installer that most operators will run on a venue laptop over a hotel connection.
Specifications
All three files are identical in format and differ only in camera position and byte size. Every value below was read from the containers directly.
| Property | Value |
|---|---|
| Resolution | 1920 × 1080 |
| Frame rate | 60 fps (exactly 60/1) |
| Codec | H.264 |
| Profile | High 4:4:4 Predictive |
| Pixel format | yuv444p |
| Frame count | 432,000 frames each |
| Duration | 7,200.000000 s — exactly 2 hours each |
| Audio | None. Zero audio streams. |
4:4:4 decode is not universal
These files use the H.264 High 4:4:4 Predictive profile with a
yuv444p pixel format — full chroma resolution, not the 4:2:0 that most
consumer H.264 uses. Some hardware decoders and lightweight players cannot handle it and will
show a black frame or refuse the file. VLC and any recent FFmpeg-based player handle it fine.
If a player rejects the footage, this is why; it is not a corrupt download.
File sizes
| File | Camera | Size in bytes |
|---|---|---|
capture_20180923_0_432000.mp4 | Feed 0 — top of the landing hill | 1,997,000,959 |
capture_20180923_1_432000.mp4 | Feed 1 — middle, the trigger camera | 1,993,842,258 |
capture_20180923_2_432000.mp4 | Feed 2 — bottom, landing and outrun | 1,988,170,694 |
| Total | 5,979,013,911 bytes — 5.57 GiB, or 5.98 GB decimal | |
The naming convention is
capture_<YYYYMMDD>_<cameraIndex>_<frameCount>.mp4, so the date,
the feed index and the length are all readable from the filename.
GiB versus GB
5.57 GiB (binary, what Windows Explorer shows) is the same quantity as 5.98 GB (decimal, what download sizes and drive capacities usually quote). If a figure looks inconsistent with one you saw elsewhere, check which unit is meant before concluding a file is truncated.
Package contents
The package is distributed as loose files — no zip, no split archive. Download all six into a single folder.
| File | Purpose |
|---|---|
capture_20180923_0_432000.mp4capture_20180923_1_432000.mp4capture_20180923_2_432000.mp4 | The footage itself, one file per camera. |
SHA256SUMS.txt | SHA-256 checksums in the standard two-space <hash> <filename> format, LF line endings, no BOM — compatible with GNU sha256sum. |
manifest.json | Machine-readable metadata: package name and version, per-file specifications and SHA-256 hashes, and the total byte count. |
Install-SampleFootage.ps1 | The installer: verifies checksums and copies the footage into place. |
README.md | Package readme, including the download instructions summarised below. |
Downloading
The footage is published alongside the software installer at thehansens.com/tournament/vdm/install/. Download all six files into one folder, using either a browser or the command line.
curl.exe -O -C - https://thehansens.com/tournament/vdm/install/capture_20180923_0_432000.mp4
curl.exe -O -C - https://thehansens.com/tournament/vdm/install/capture_20180923_1_432000.mp4
curl.exe -O -C - https://thehansens.com/tournament/vdm/install/capture_20180923_2_432000.mp4
curl.exe -O https://thehansens.com/tournament/vdm/install/SHA256SUMS.txt
curl.exe -O https://thehansens.com/tournament/vdm/install/manifest.json
curl.exe -O https://thehansens.com/tournament/vdm/install/Install-SampleFootage.ps1
Two things about curl on Windows
- Write
curl.exe, not barecurl. In PowerShell,curlis an alias forInvoke-WebRequest, which takes entirely different arguments and will not do what you expect. -C -resumes an interrupted transfer instead of starting over. On a 2 GB file over a venue connection, this matters — re-run the same command after a dropout and it picks up where it stopped.
Always verify after downloading. A truncated 2 GB file is not obviously truncated — it opens, plays, and simply ends early. See Verifying.
Installing
From the folder containing the downloaded files:
powershell -ExecutionPolicy Bypass -File .\Install-SampleFootage.ps1 -SourcePath .
| Parameter | Effect |
|---|---|
-SourcePath <path> | The folder holding the downloaded files. |
-DestinationPath <path> | Where to install the footage. Default C:\VDM\CapturedVideos, matching a default VDM install. |
-VerifyOnly | Check checksums without copying anything. |
| Code | Meaning |
|---|---|
0 | Everything verified successfully. |
1 | A verification failure or a missing file. |
2 | Fatal — bad arguments, insufficient disk space, or an unreadable source. |
Requires 6.5 GB free on the destination volume
The installer checks free space and aborts before copying anything if the volume is short, exiting with code 2. That headroom is 5.57 GiB of footage plus working room. Note that this is on top of the space VDM itself needs for recordings — see Prerequisites.
Verifying
The simplest check, which also confirms the files landed where they should:
powershell -ExecutionPolicy Bypass -File .\Install-SampleFootage.ps1 -VerifyOnly -DestinationPath C:\VDM\CapturedVideos
To verify by hand with the standard tools instead:
sha256sum -c SHA256SUMS.txt
on Linux or macOS (or shasum -a 256 -c SHA256SUMS.txt), or for a single file on
Windows:
Get-FileHash capture_20180923_0_432000.mp4 -Algorithm SHA256
Compare hashes case-insensitively
Get-FileHash prints the hash in uppercase;
SHA256SUMS.txt stores it in lowercase. They match — the
case difference is cosmetic. Do not conclude a file is corrupt because the two strings do not
compare equal as text.
A quick sanity check that does not require hashing 6 GB: compare the byte sizes against the table above. A partial download will nearly always show a different size.
Using it with VDM
The footage is played into the pipeline by practice_player.exe, which reads the
files and writes frames into the feed shared memory at 60 fps — from everything
downstream's point of view, indistinguishable from live cameras.
- Launch
VDM.exe. - Open Tools → Select Practice Files… and browse to the three
installed
.mp4files, assigning each to its matching feed —_0_to feed 0,_1_to feed 1,_2_to feed 2. This writes*practice_video_path[0..2]. - Preview tab → Launch Practice. Four processes spawn:
practice_player.exeplus threemotion.exe. - Watch the title bar. The
capandmcounters should climb, and movies commit automatically as jumpers are detected. - Stop All to finish — twice, since the first click in practice mode deliberately leaves the motion processes running.
Full workflow detail is in User guide § practice mode.
These filenames are the legacy default
When *practice_video_path[0..2] is left empty, the practice player falls back to
a legacy file-naming convention, and
capture_20180923_<F>_432000.mp4 is that convention's default set —
which is why these particular files carry these particular names. Setting the paths explicitly
through Tools → Select Practice Files… is the reliable approach and
works regardless of where you installed them.
verify on target hardware — confirm on your
install whether the fallback finds them at
C:\VDM\CapturedVideos or expects them beside the executables.
What to expect
Each file is a full two hours, so a run through the whole thing is a long session. For a quick install check you do not need to watch it out: confirm that frames flow, that motion fires, that a clip is committed to the archive directory, and that it opens in the viewer with grid lines drawn.
Bear in mind that grid-line calibration in your settings.txt is tied to a
specific camera rig. Distances measured against this 2018 footage will only be meaningful if the
calibration in your configuration corresponds to the rig that recorded it. For an install check
what matters is that the pipeline runs, not that the numbers are correct.
Problems
| Symptom | Likely cause | Fix |
|---|---|---|
| Installer exits with code 2 immediately | Bad arguments, an unreadable source path, or less than 6.5 GB free on the destination volume. | Read the message it prints. Check free space on the destination volume first — that is the usual cause. |
| Installer exits with code 1 | A checksum mismatch or a missing file — most often a download that was interrupted. | Re-download the offending file with curl.exe -O -C - to resume, then verify again. |
| Hashes look different but the file seems fine | Get-FileHash outputs uppercase; the checksum file stores lowercase. |
Compare case-insensitively, or use -VerifyOnly, which handles this. |
| A player shows a black frame or refuses the file | The player cannot decode H.264 High 4:4:4 Predictive. | Use VLC or another FFmpeg-based player. The file is not corrupt — verify its checksum if you want to be certain. |
| Practice mode starts but no frames flow | The practice file paths are not set, or point somewhere the files are not. | Set them explicitly via Tools → Select Practice Files… rather than relying on the legacy naming fallback. |
| Frames flow but no movies are ever committed | Motion detection is disabled, or the motion regions do not match this footage's framing. | Check feed_motion_on[N]=1, then see Troubleshooting § motion detection. Remember the regions in your configuration were set for your cameras, not for this 2018 rig. |
| The download keeps failing part-way | Connection dropouts on a 2 GB transfer. | Re-run the same curl.exe -O -C - command; it resumes from where it stopped rather than restarting. |
