Choicer Voicer
← Guider och tips

Why dub packs need Ogg Theora, and how to convert one

The single most common reason a perfectly good pack refuses to play, explained properly — including the part where converting it is not the same as retiming it.

You download a pack, unzip it, drop it where the scenes live, and the game finds it. The lines are there. The timings are there. You press play and get audio over a black rectangle. Nothing errors, nothing explains itself, and the obvious conclusion — that the pack is broken — is wrong.

The pack is fine. The video inside it is in a format the game cannot decode, and that is a much narrower problem than it looks.

The cause: one engine, one codec

The Choicer Voicer is built in Godot, and Godot's built-in video player decodes Ogg Theora. Not MP4. Not WebM. Not MOV. That is not a limitation the game chose so much as one it inherited, and it is invisible from the outside because the engine is not something a player ever sees.

So a pack carrying an H.264 MP4 — which is to say, a pack carrying the format that every phone, every camera and every video editor produces by default — installs perfectly, reads its lines perfectly, and cannot show you a single frame.

Why Voxalike packs hit this constantly

Voxalike and The Choicer Voicer describe their lines and timings compatibly enough that the text side of a pack carries over between them without editing. That is genuinely useful and it is also the trap: because the text side transfers, a pack looks portable right up until you press play.

Voxalike runs in a browser. Browsers want MP4 or WebM and have not shipped Theora support that anyone should rely on for years. So a pack built for it is packaged the way browsers want, and arrives here ninety per cent correct and ten per cent unplayable.

Converting the video

The fix is to re-encode the video stream to Theora in an Ogg container and change nothing else. Any general-purpose video tool will do it; the pack editors mentioned at the end of this post do it as part of exporting, which saves the round trip.

  1. Take the video file out of the pack folder and leave everything else exactly where it is.
  2. Re-encode it to Theora video in an .ogv container. Keep the frame rate and the duration identical — a re-encode that drops or duplicates frames is the one way this process can break the timings.
  3. Scale it down while you are there. 720p is generous for this; see the note below.
  4. Put the result back with the same base name the pack's own files refer to, and delete the original.
  5. Open the pack and watch the first ten seconds and the last ten. Those are where a bad re-encode shows first.

What not to do: retime the lines

This is worth stating on its own because it is the natural next move and it makes things worse. If the picture plays at all, the timings were never the problem — they are measured against the video's own clock, and a correct re-encode leaves that clock alone.

If the lines genuinely drift after a conversion, the conversion changed the frame rate or the duration. Fix the encode, not the pack. Retiming to compensate produces a pack that is correct on your machine and wrong on everybody else's, and it is unrecoverable later because there is no record of what was moved.

The other failure that looks identical

One more, because it presents almost the same way and has nothing to do with codecs: a pack that unzips into a folder containing another folder of the same name. The inner one is the pack. Left nested, the game does not error — it simply never lists the scene, which is a far more confusing failure than a message would be. Move the inner folder up one level.

Läs vidare

Paketguiderna på den här sidan går igenom vad som finns i ett dubbpaket, var gemenskapen publicerar dem och hur man bygger ett som folk faktiskt spelar.

Dubbpaket

Spela nu

Öppna ett rum i webbläsaren, skicka koden till vem du vill, och alla dubbar samma klipp. Inget att installera.

Spela nu