Home Authoring CVD Discs

Authoring CVD means non-standard SVCD

Every practical home-authoring path for China Video Disc (CVD) builds an SVCD-structured disc that carries 352-wide MPEG-2 video. No mainstream tool implements a separate, fully documented CVD disc type except DeVeDe, and DeVeDe cannot make menus for it. “Standard SVCD” presets will either refuse 352-wide video or silently rescale it to 480, so user or non-standard SVCD modes must be used. The goal is a Mode 2 Form 2 CD that Chinese and many Asian players treat as CVD/SVCD-family media, not a unique ISO type stamped “CVD” in the imager.

Route summary

Route Platform Menus Chapters Subtitles Best for
DeVeDe / DeVeDeNG Linux No Limited Burned-in / rendered Quick discs from files
ffmpeg + vcdimager Any No Via splits Burned-in Scriptable single-title discs
mjpegtools + vcdimager Linux/macOS No Via sequence splits Burned-in Fine encoder control, interlaced sources
vcdxgen / vcdxbuild XML Any Yes Yes Muxed streams Full PBC discs
Windows period toolchain Windows Yes (VCDEasy, Nero) Yes CVD-style or OGT 2002-era community recipes

Target parameter sheet

Setting PAL CVD NTSC CVD NTSC film CVD
Frame size 352×576 352×480 352×480
Frame rate 25 29.97 23.976 with 3:2 pulldown flags
Display aspect 4:3 or 16:9 anamorphic 4:3 / 16:9 4:3 / 16:9
GOP ≤15, closed ≤18, closed ≤18 (display), closed
Video rate CBR 2,520 or VBR avg 1,800-2,300, max 2,516-2,520 same same
VBV buffer 1,835,008 bits (ffmpeg) / 230 KB (mplex) same same
Audio MP2, 44,100 Hz, stereo, 224 kbps same same
Pack size 2,324 bytes same same

The “2,520 CBR, closed GOPs, max 15 (PAL) / 18 (NTSC)” recipe comes from VideoHelp CCE workflows and SatStorm’s guide. It is community convention, not a quoted specification clause. A 2,520 kbps video peak plus 224 kbps audio stays under the 2,778 kbps mux ceiling with headroom. If the material may later move to DVD, keep a 48 kHz master and resample to 44.1 kHz only for the CD.

Bitrate planning for an 80-minute CD-R (about 836.6 MB payload less roughly 2% for ISO track, gaps and mux overhead) runs approximately: 40 minutes → ~2,730 kbps mux, CBR 2,400-2,520 video; 50 minutes → ~2,190 kbps, VBR avg ~1,900 max 2,520; 60 minutes → ~1,820 kbps, avg ~1,550; 70 minutes → ~1,560 kbps, avg ~1,300; 80 minutes → ~1,370 kbps, avg ~1,100 (or drop audio to 160 kbps). These are planning estimates derived from CD capacity figures, not measured encodes.

DeVeDe / DeVeDeNG

Classic DeVeDe (Python 2 / PyGTK) was rewritten as DeVeDeNG (Python 3 / GTK3) by Sergio Costas (rastersoft). The old GitHub repository was archived on 31 January 2019; development moved to GitLab. DeVeDe’s FAQ defines CVD as “an alternative format to SuperVCD, using a resolution of 352×480 (or 352×576 in PAL)… compatible with DVD standard.” Back-ends include MPlayer/MEncoder or FFmpeg for conversion and VCDImager for VCD/SVCD/CVD imaging. Missing back-ends grey out disc types.

Typical flow: install devede and vcdimager, choose CVD in the disc-type dialog, set PAL or NTSC, add files, set aspect and bitrate, optionally burn in SRT subtitles (custom font via $HOME/.spumux/devedesans.ttf), then burn the BIN/CUE with cdrdao, K3b or Brasero in disc-at-once mode. Known limits: no menus for VCD/SVCD/CVD; 99-file limit; newer versions speed 24 fps film to 25 fps (~4% faster); do not work on FAT32 volumes; subtitle flavour (CVD-style vs OGT) is undocumented-test on hardware.

ffmpeg, mjpegtools and VCDImager

ffmpeg has -target presets for vcd, svcd, dvd and related types, but no cvd target. The documented PAL SVCD preset uses 480×576; documentation states that any user-set parameter overrides the preset, so CVD is the SVCD target with a 352-wide scale. Community recipes use -target pal-svcd or ntsc-svcd, scale=352:576 or 352:480, setsar=1, closed GOPs (-flags +cgop), maxrate about 2516k, bufsize 1835008, MP2 at 44100 Hz / 224k, and for interlaced sources +ilme+ildct with matching field order. Burned-in subtitles should be rendered before scaling. Long titles can be split with segment muxing, checking GOP boundaries with ffprobe.

mjpegtools treats profile -f 5 as user-rate SVCD-bitrate, buffer, GOP and frame size may be non-standard-which is the legitimate CVD path. Profile -f 4 is standard 480-wide SVCD only. A typical pipeline pipes scaled yuv4mpeg into mpeg2enc -f 5, encodes MP2 audio separately, then mplex -f 5 -V -b 230 -r 2750. Do not confuse this with mjpegtools’ anytovcd.sh “cvd” profile, which is half-D1 DVD (mpeg2enc -f 8, AC-3 at 48 kHz), not CD CVD.

Quick mastering without menus:

vcdimager -t svcd -l "MY_CVD" -c cvd.cue -b cvd.bin --update-scan-offsets cvd_pal.mpg

There is no -t cvd. VCDImager documents only 480-wide SVCD resolutions as officially supported, so expect a non-compliance warning for 352-wide video. Use --update-scan-offsets so scan placeholders from the encoder become real FF/REW offsets. If a player rejects a compliant image, --broken-svcd-mode is a last resort.

Menus, chapters and subtitles with vcdxbuild

For PBC menus, generate a starting XML with vcdxgen -t svcd, edit videocd.xml (class=”svcd”), then vcdxbuild. Sequence entry times (seconds) become chapters only if the encoder placed a sequence header, GOP header and I-frame at each entry-closed GOPs help; keep relaxed APS off. Still menus use SVCD still profiles (mpeg2enc -f 7) referenced as segment items; a disc must still contain at least one motion sequence.

Subtitle choice is a trade-off. CVD-style (I-Author format) has the widest support on legacy Chinese and Asian players according to forum users, but the format is reverse-engineered and no maintained open-source muxer is identified-period EnReach I-Author is the named professional path. SVCD OGT (0x70-0x73) is specification-compliant and supported by VLC and many later DVD players; some legacy decks ignore it. Burned-in text plays everywhere but costs bitrate and switchability. Period OGT workflows used SubRip BMPs and winsubmux before VCDImager mastering.

Windows period toolchain and burning

TMPGEnc Plus 2.5: start from the SVCD template, change size to 352×480/576, MPEG-2 around 2,520 kbps, MP2 224 kbps at 44.1 kHz, system stream “Super Video-CD.” Kwag’s KVCD.net templates include XCVD/CVD variants. CCE: 352-wide, CBR 2,520 or multipass VBR, closed GOP, max 15/18; RoBa (“RSVCD”) was the Doom9-era CCE SVCD recipe. VCDEasy (GUI over VCDImager): digitalFAQ notes SVCD, XSVCD and CVD should use SVCD 1.0 type; tell VCDEasy to ignore CVD-related error messages; enable CDRDAO integration. Nero SVCD projects include a compliance check that VideoHelp users say can pass over-rate streams. DVD2SVCD’s authors pushed VCDImager to accept OGT IDs 0x70-0x73 in 2001. Burn BIN/CUE disc-at-once with ImgBurn, CDRWin or cdrdao-never as a data-file project.

cdrdao on Linux/macOS is typically cdrdao write --device /dev/sr0 --speed 4 against the CUE; Linux.com SVCD tutorials preferred even lower speeds for player compatibility. Test CD-RW first: many DVD players prefer one media type over the other for CD-R versus CD-RW.

Troubleshooting and CVD-to-DVD

Symptom Likely cause Fix direction
“No disc” / data CD Burned as data files Re-burn BIN/CUE disc-at-once
PC yes, player no No CD-R support or Philips-only SVCD Try CD-RW / other player / 480-wide
Half-width picture Aspect / display-size signalling Correct -aspect; try mpeg2enc SVCD HDS options
High-motion stutter Peaks above 2× mux ceiling Cap maxrate ≤ 2,516-2,520
FF/REW dead Missing scan offsets --update-scan-offsets
Chapters ignored Entry not at access point Closed GOPs; no relaxed APS
No subtitles Wrong flavour or high bitrate CVD-style vs OGT; lower max (~1,800 kbps anecdote)
Audio slow / pitched 48 kHz on CD Resample to 44.1 kHz

Pre-burn software checks catch many of the same failures. vcd-info against the CUE or BIN dumps INFO/ENTRIES/TRACKS structure; vcdxminfo reports how the imager library sees an MPEG; ffprobe should confirm 352×576 or 352×480, mpeg2video and mp2 at 44100 Hz before you spend a blank. If vcdimager rejects the stream, remux with pack size 2,324 and MP2 at 44.1 kHz before blaming the burner.

Because CVD video is DVD-legal at half-D1 sizes, a CVD can move to DVD-Video without re-encoding the picture: demux, resample audio to 48 kHz (often AC-3), mux as DVD program stream and author with dvdauthor. VideoHelp users recommend that path for VHS archives-capture once at 352×576/480, keep CVD for CD copies and DVD for longer-running sets. Home authoring CVD is therefore less inventing a format than forcing SVCD tooling to keep the 352-wide picture Chinese players expected in 1998.


Further reading on historic video formats

If you want to learn more about historic video formats, get The History of Physical Video Formats from the Frontier by Stephen Driver on Amazon: