Probed all 97 movies. 28 are wmapro 48 kHz 6-channel 5.1 -- ADV.wmv and every S*.wmv story cutscene; the other 69 are wmav2 48 kHz stereo, every RT*.wmv and hokyu_*.wmv. The split is cinematics vs in-mission radio chatter. Both movies the menu milestone needs, ADV.wmv (the boot/attract intro) and S00A.wmv (the new-game intro), are in the SURROUND group. Why it matters: one ffmpeg command over dat/movie/ produces two different kinds of result and records neither. The 69 stereo files pass through unchanged; the 28 surround files get downmixed 5.1 -> stereo by ffmpeg's DEFAULT matrix, folding centre-channel dialogue into L/R at a weighting nobody chose and which is not stable across ffmpeg versions. That is a content decision inherited by accident, so it should be stated explicitly and recorded beside the command. Credit where due: found by the human while checking a transcode, verified independently here and widened from one file to the whole disc. Two METHOD entries from the same episode, both about measurement rather than format: don't probe a file another process is still writing (a half-written transcode reported 33 s against a 137 s source, no error, nearly a filed bug), and a difference-signal RMS is meaningless before cross-correlation alignment (-34.2 dB against a -25.3 dB source looks like failure and is inconclusive).
48 lines
2.1 KiB
Markdown
48 lines
2.1 KiB
Markdown
# ✅ The disc ships movies in **two** audio profiles — and one of them is 5.1
|
|
|
|
**Status:** ✅ `DECODED`, disc-wide (97 of 97 movies probed). Found while checking
|
|
a transcode, not while looking for it.
|
|
|
|
## The split
|
|
|
|
```
|
|
$ ffprobe -select_streams a -show_entries stream=codec_name,sample_rate,channels,channel_layout
|
|
```
|
|
|
|
| profile | count | codec | rate | channels | which |
|
|
|---|---|---|---|---|---|
|
|
| **surround** | **28** | `wmapro` | 48 kHz | **6 (5.1)** | `ADV.wmv` + every `S*.wmv` story cutscene |
|
|
| stereo | 69 | `wmav2` | 48 kHz | 2 | every `RT*.wmv` and `hokyu_*.wmv` |
|
|
|
|
Full list in [`data/movie-audio-layouts.csv`](../data/movie-audio-layouts.csv).
|
|
|
|
The split is not arbitrary: the **cinematics** are 5.1 and the **in-mission radio
|
|
chatter** is stereo. `ADV.wmv` (137.714 s) and `S00A.wmv` — the boot/attract intro
|
|
and the new-game intro, i.e. **both movies the menu milestone needs** — are in the
|
|
surround group.
|
|
|
|
## ⚠️ Why this matters to anything that transcodes
|
|
|
|
A single `ffmpeg` command over `dat/movie/` produces **two different kinds of
|
|
result** and records neither:
|
|
|
|
* the 69 stereo files pass through channel-wise unchanged;
|
|
* the 28 surround files are **downmixed 5.1 → stereo by ffmpeg's default matrix**,
|
|
folding centre-channel dialogue into L/R at a weighting nobody chose.
|
|
|
|
That default is a *content* decision — it sets how loud the dialogue is against
|
|
the music — and it is **not stable across ffmpeg versions**. A pipeline that wants
|
|
a reproducible result has to state the downmix explicitly rather than inherit it,
|
|
and record it beside the command.
|
|
|
|
🟡 Whether the game itself plays these in surround, and with what downmix when the
|
|
console is set to stereo, is **not established here**. This page is about what is
|
|
on the disc.
|
|
|
|
## How it was found, and the trap next to it
|
|
|
|
Checking a transcode against its source, `ffprobe` reported the output as 33 s
|
|
against the source's 137 s — which reads as catastrophic truncation and is not:
|
|
the file was **being written at that moment**. Measuring a live write produces a
|
|
confident wrong answer with no error. See [`../METHOD.md`](../METHOD.md).
|