re(media): the disc ships movies in TWO audio profiles, and 28 of them are 5.1
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).
This commit is contained in:
47
docs/re/structures/movie-audio-channels.md
Normal file
47
docs/re/structures/movie-audio-channels.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# ✅ 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).
|
||||
Reference in New Issue
Block a user