User Guide
Verifying video profile compliance with XOS Transcode Services
Flatten Checker is a small Windows utility that checks whether your video files are encoded with the correct H.264 profile before you bring them into your workflow. It runs the XOS Transcode Services flatten tool against each file you select, reads the profile out of the result, and tells you plainly whether the file passes or fails.
The purpose is to catch a problem early. A file encoded with the wrong profile will often play back perfectly well on a desktop, only to fail or behave unpredictably later in the chain. Checking a batch takes seconds and saves you discovering the issue at the point where it costs you time.
Before You Start
DOWNLOAD THE FLATTEN CHECKER PACKAGE HERE
You need a Windows 10 or Windows 11 machine with XOS Transcode Services already installed, and you need to know where it lives. On most installations that is "C:\Program Files (x86)\XOS Technologies\Transcode_Services", which the application fills in for you. Nothing else needs installing: everything the tool relies on ships with Windows.
You will have been given two files, which must stay together in the same folder. The first is the launcher, named Run FlattenChecker.cmd, and the second is the application itself, FlattenChecker.ps1. Put them anywhere convenient, such as your desktop or a shared drive.
Starting the Application
Double-click Run FlattenChecker.cmd. A window opens titled Flatten Checker - XOS Transcode Services, and the field at the top shows the folder where it expects to find the XOS flatten tool.
Check that line before doing anything else. If the application found the tool, it says Found flatten.exe in green and you can carry on. If it reports in red that the file was not found, click Browse and point it at the folder on your machine that contains flatten.exe. Some installations sit under the 64-bit Program Files folder instead of the 32-bit one, and that is the usual explanation.
Choosing Files to Check
There are three ways to build up the list. Add Files opens a standard file picker where you can select several videos at once by holding Ctrl or Shift. Add Folder takes a whole folder and pulls in every video file it contains. You can also drag files or folders straight from Windows Explorer onto the list.
If you want a folder scan to reach into subfolders as well, tick Include subfolders before you add it. The setting applies to dragged folders too. When scanning a folder, the application picks up the common video formats automatically: MP4, MOV, AVI, MXF, MPG, MPEG, M4V, WMV, MKV, FLV, ASF and the TS, M2TS and MTS transport stream formats. A file you select or drag individually is added whatever its extension, so you can check something unusual without renaming it.
Files already in the list are never added twice. Use Remove Selected to drop individual entries or Clear List to start again.
Running the Check
Click Run Check. The application works through your list one file at a time, filling in each row as it goes. The progress bar tracks the batch and the black panel underneath shows the live output from the XOS tool, so you can see exactly what is happening rather than waiting at a blank screen.
Files are checked one after another rather than all at once. This is deliberate, because video analysis is limited by how fast the storage can feed it, and running several at the same time on one drive tends to be slower overall rather than faster.
If you need to stop, click Cancel. The file being checked at that moment is stopped part-way, and anything still queued is left untouched. When the batch finishes, a summary window lists every file that failed together with the reason, every file that passed on profile 100, and anything no profile could be read from. Files that had gone missing are not included in that summary, and if nothing was actually checked no summary appears at all.
Reading the Results
Each row is colour-coded so a batch can be read at a glance. Green passed, red failed or could not be found, and amber means the check ran but the outcome is not a clean pass. The Profile column shows the value that was detected along with its name, and the Result column gives the verdict.
| Result | What it means |
|---|---|
| PASS - High | The file is encoded with profile 100 (High). This is what you want. No action needed. |
| FAIL - Main | The file is encoded with profile 77 (Main). The video profile is set to Main, which is not accepted. The file needs to be re-encoded to High profile. |
| FAIL - (other) | A profile other than High was detected, named where it is a recognised H.264 profile. The file needs re-encoding. |
| FAIL | The XOS tool itself reported an error, shown as a non-zero value in the Exit column. The profile was not the deciding factor here; check the log for the underlying error. |
| PASS (no profile) | The check ran cleanly but no profile value appeared in the output. Treat this as unverified rather than approved, and check the file by hand. |
| Missing | The file was no longer at the recorded location when the batch ran. It was most likely moved or renamed after being added to the list. |
| Cancelled | This file was being checked when you pressed Cancel. It was stopped part-way, and a log holding the partial output was still written. |
| Skipped | The batch was stopped before this file was reached, so it was never checked at all. |
The Exit column shows the code returned by the XOS tool, which is zero on a clean run. The Log column reads Saved when a log was written for that file, or Failed if it could not be.
Why the Profile Matters
H.264 is not a single way of encoding video. The standard defines several profiles, each of which is a different subset of the available compression techniques. A profile is recorded in the file as a number, and that number is what Flatten Checker reads.
Main profile, number 77, is an older and more limited subset. It was designed for standard-definition broadcast and constrained playback devices, and it omits several tools that modern encoders rely on. High profile, number 100, is the one used across virtually all current professional and broadcast workflows. It supports 8x8 transforms and custom scaling matrices, which means better quality at the same bitrate and, more importantly here, compatibility with the tools further down the chain.
A file encoded as Main will usually play. That is precisely what makes it awkward: the problem is invisible until something downstream refuses it or handles it inconsistently. Checking the profile up front turns a late, expensive surprise into a quick decision at the point of ingest.
When a file fails on profile, the fix is to re-encode it to High profile. Your encoding software will expose this as a profile setting, usually alongside the level and bitrate options.
| Value | Profile | Result in Flatten Checker |
|---|---|---|
| 44 | CAVLC 4:4:4 Intra | Fail |
| 66 | Baseline | Fail |
| 77 | Main | Fail – the case this tool most often catches |
| 88 | Extended | Fail |
| 100 | High | Pass – the required profile |
| 110 | High 10 | Fail |
| 118 | Multiview High | Fail |
| 122 | High 4:2:2 | Fail |
| 128 | Stereo High | Fail |
| 138 | Multiview Depth High | Fail |
| 244 | High 4:4:4 Predictive | Fail |
Profiles outside this list are reported by number and marked Unrecognised. They still fail, since High is the only accepted value.
Log Files
Every check writes its own log file, saved in the same folder as the video and named after it. A clip at D:\Games\Week3\All22.mp4 produces a log alongside it called:
All22.flatten.20260817-143022.log
The timestamp means each run creates a new file rather than overwriting the last, so you keep a history. If the folder holding the video cannot be written to, which is common on read-only shares, the log goes to Documents\FlattenChecker\Logs under your user profile instead, and a note in the output panel tells you it has done so.
The log records the exact command that was run, the full output from the XOS tool, the profile that was detected, and the verdict. It is the right thing to attach if you need to raise the file with your support contact. The quickest way to open one is to double-click the file’s row in the list once the check has finished, which works for any row showing Saved in the Log column.
Troubleshooting
| Symptom | What to do |
|---|---|
| The top of the window says flatten.exe was not found | Click Browse and locate the folder containing flatten.exe. Check the 64-bit Program Files folder if the default path is wrong, and confirm XOS Transcode Services is installed. |
| Windows blocks the script from running | Right-click FlattenChecker.ps1, choose Properties, and tick Unblock if it appears. If the block persists, your organisation restricts where scripts may run and your IT team will need to permit the folder. |
| Every file comes back with a non-zero exit code | This points at the XOS tool rather than at your video files. Open one of the logs and read the output; try running the same file through XOS directly to confirm. |
| Every file returns "no profile" | The output format may differ from what the application expects. Open a log, find the line showing the profile, and send it to your support contact so the pattern can be adjusted. |
| A file shows as Missing | It was moved, renamed or disconnected after being added. Clear the list and add it again from its current location. |
| The window stops responding during a long check | Large files take time. The progress bar and output panel continue updating; if genuinely stuck, use Cancel rather than closing the window. |
Comments
0 comments
Please sign in to leave a comment.