Blog CVD Guides Home Authoring
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:

Blog CBHD Codecs Guides
CBHD Codecs Today: AVS, DRA and Tooling

Starting point

Pressed CBHD discs carried video and audio under Chinese and Western codec labels. Reconstructing or playing ripped material in 2026 depends less on finding a “CBHD player app” and more on whether modern open-source stacks can decode AVS video and DRA audio after the container and DRM layers are stripped. This post inventories what exists today, what is missing, and how those tools map onto the format’s commercial codec list.

AVS video on the open-source side

FFmpeg’s cavs decoder handles AVS1-P2 Jizhun (base) profile. Stefan Gehrer wrote it in 2006-before CBHD’s commercial launch-because AVS itself is older than the disc format. The AVS working group began first-generation work in 2002; AVS Part 2 video became national standard GB/T 20090.2-2006 in February 2006. For software archaeology that timing matters: a CBHD encoding tool may simply have been an AVS encoder feeding a proprietary mux/authoring system, not something branded “CBHD Encoder.”

Support for AVS+ (AVS1-P16, broadcasting profile) was proposed in a 2026 FFmpeg-devel RFC titled along the lines of “avcodec/cavs: bugfixes and AVS1-P16 (AVS+) decoding,” but that work is not yet merged. Encoding uses libxavs, available in FFmpeg builds configured with --enable-libxavs; Chinese CSDN guides document such builds. FFmpeg’s separate avs decoder is for an unrelated game video format and must not be confused with Chinese AVS. The name uAVS appeared as a search target in the research brief; no pass reported usable details.

What commercial CBHD actually put in the bitstream

Official CHDA documentation lists AVS, H.264/AVC, VC-1 and MPEG-2. Player specifications made AVS, MPEG-4 AVC and VC-1 mandatory. Early 2009 discs almost certainly used VC-1 or AVC because AVS content and encoders were not yet available at China Record; AVS and DKAA discs were presented as a “new generation” only at the September 2009 Guangzhou conference. An actual disc could therefore contain a conventional MPEG-2, H.264 or VC-1 stream even though later marketing emphasised AVS.

Technical traits reported for AVS as used on CBHD include compression efficiency comparable to H.264 High Profile with lower computational complexity; licensing about 1 RMB per decoder unit versus multi-dollar MPEG-LA structures; 8×8 integer transforms; quarter-pel motion-vector accuracy; context-adaptive spatial prediction; and its own loop filter. Typical CBHD encodes are described as 1080p at 23.976 or 24 fps, or 1080i at 50 Hz for domestic Chinese TV masters, at average bitrates of 12-18 Mbps under a format maximum video bitrate of 28 Mbps.

DRA audio: silicon IP and one thesis tree

DRA (standardised as SJ/T 11368-2006 and GB/T 22726-2008) was developed by DigiRise / Guangzhou Digital Rise Technology. Expansions of the acronym differ across sources-“Dynamic Resolution Adaptation” versus “Digital Rise Audio” after the developer. It is optional in Blu-ray from version 2.3. Reported capabilities include multi-channel compression using sub-band coding, psychoacoustic masking and MDCT; channel layouts from mono/stereo to 5.1 and 7.1; and bitrates from 64 kbps to 1.5 Mbps.

Commercial decoder IP: Synopsys DesignWare ARC Sound IP (2011, first to support DRA) and Tensilica HiFi Audio DSP library (2012). Open source: a DRA encoder/decoder from Tianyi Geng’s Tsinghua undergraduate thesis, published on GitHub as tianyigeng/DRA-Audio-System. No DRA decoder exists in mainline FFmpeg. For archival workflows that means DRA either goes through the thesis codec or through a conversion step before ordinary desktop players see the soundtrack.

Player-facing audio lists for context

  • Official specification: AVS Audio, DRA, Dolby AC-3.
  • Shinco CBHD-9100: AVS-Audio, LPCM, DRA, Dolby AC-3; coaxial digital and 5.1 analogue.
  • TCL THBD-1008: Dolby Digital, Dolby Digital Plus, Dolby TrueHD, PCM.

CBHD-HiFi (July 2010) used dual-layer capacity for multi-channel LPCM up to 24-bit/192 kHz over secure HDMI. That profile is a separate audio path from DRA compression and matters for identifying special collector editions from China Record Corporation.

Putting decoded streams into players

A decrypted CBHD AVS elementary stream should decode in FFmpeg-based players such as mpv, MPC-HC via LAV Filters, and probably VLC, provided the cavs path is available. Transcoding can use FFmpeg with libxavs when re-encoding is required. DRA still needs the thesis codec or conversion. No research pass found software that decrypts DKAA. International titles protected with AACS follow the AACS route rather than a CBHD-specific PC decryptor.

Standalone player USB paths remain relevant when discussing “home content” without disc authoring: the Shinco CBHD-9100 plays 1080p video files and TS/MP4 from USB with external subtitles; the Shinco HD-3700U plays AVI from USB and network shares. Those routes bypass FSM mastering entirely and are the only documented realistic home-content path on original hardware.

What is still missing

  1. Mainline FFmpeg DRA decoder.
  2. Merged AVS+ (AVS1-P16) support in cavs.
  3. Any public DKAA decryption tool.
  4. Documented uAVS encoder details usable for reconstruction.
  5. Confirmed PC application that mounts a pressed CBHD volume end-to-end (filesystem + CETC + DRM + decode).

ChatGPT pass 2 cautions that “there were no PC decoders” has not been proven as a historical absence; PC playback software and a CBHD emulator remain unresolved research targets rather than confirmed non-existence. For practical work today, treat AVS via cavs/libxavs and DRA via the thesis tree as the working open toolchain, and treat DKAA as a hard stop until keys and algorithms surface.

Codec archaeology versus disc archaeology

AVS and DRA outlived CBHD in Chinese broadcasting. AVS was re-engineered as AVS2 and AVS3; together with DRA they were mandated across terrestrial HD, 4K Ultra-HD and 8K state networks. That continuity means codec libraries and silicon IP continued after disc replication ended, but it does not automatically recover CBHD muxers, CETC navigation files or DKAA. Separating the problems helps: decode the elementary streams with tools that already exist; recover containers, navigation and DRM with disc images, firmware dumps and professional verifiers.

When a catalogue title is labelled “1080p AVS, DRA 5.1” in secondary reporting, treat that as a technical profile claim pending MediaInfo or bitstream confirmation. Early launch discs may not match that profile. When a title lists only Western codecs on a player menu screenshot, that is equally consistent with the 2009 encoder gap. Codec tooling today is strong enough to handle AVS Jizhun video once decrypted; audio and DRM remain the thinner layers of the stack.

Quick reference

Component Open tooling status
AVS1-P2 Jizhun decode FFmpeg cavs (2006)
AVS encode libxavs via FFmpeg
AVS+ RFC proposed; not merged
DRA decode/encode Thesis GitHub project; not in FFmpeg
DRA in silicon IP Synopsys ARC Sound (2011); Tensilica HiFi (2012)
DKAA No public decryptor found
AACS (international CBHD) Standard AACS research path

The next posts in this series cover standards numbers and patents, then hardware that actually ran these codecs in living rooms. Codec tooling without a disc image or firmware dump still leaves navigation and protection unresolved; codec tooling with those artefacts turns a sector dump into watchable video.

AVS as a system, not a single FourCC

The AVS organisation describes AVS1 as a full system covering system layer, video, audio, DRM and compliance testing. That breadth affects how researchers hunt tools: filenames may say AVS encoder, AVS muxer or compliance suite rather than CBHD. Part 2 video (GB/T 20090.2-2006) is the elementary stream FFmpeg’s cavs path targets. Broadcasting later moved to AVS+ and then AVS2/AVS3; those later profiles are not automatically present on 2009-2010 CBHD discs. Keeping profile names straight prevents false “unsupported CBHD” reports when the real issue is an AVS+ stream fed to a Jizhun-only decoder.

Licensing economics also explain why Chinese manufacturers preferred AVS on paper: about 1 RMB per decoder versus multi-dollar MPEG-LA stacks. Whether every pressed title actually shipped AVS is a separate empirical question. China Record’s lack of an AVS encoder in April 2009 and the September 2009 “new generation” AVS+DKAA unveiling are contemporaneous evidence that the codec story changed during the format’s short commercial life.

DRA beside Dolby on the same machines

Player marketing lists show DRA and Dolby families coexisting. The Shinco CBHD-9100 advertises DRA and AC-3 together with LPCM; the TCL THBD-1008 leans on Dolby Digital / Digital Plus / TrueHD and PCM in published specs. HDMI bitstream of DRA to Western AV receivers was reported as fragile on the HD-3700U because descriptors did not identify the payload. Desktop preservation therefore cannot assume “if the video decodes, the audio will follow in VLC”-DRA may need an offline conversion pass through the thesis codec before a standard media player sees PCM or AC-3.

Research targets still named but empty

uAVS encoders were on the original search brief; no pass returned usable documentation. Synopsys and Tensilica DRA IP proves silicon-level interest after 2011 but does not yield a Windows DLL for archivists. No pass found DKAA decryption code. AACS on international CBHD titles remains the better-documented protection path solely because AACS LA published a CBHD pre-recorded book (v0.90, 7 October 2008) rather than because those titles are easier to obtain.

Practical lab order: identify whether a given disc is domestic (DKAA) or international (AACS); extract after legal decrypt where applicable; demux; run cavs on AVS; route DRA through tianyigeng/DRA-Audio-System or transcode; archive both elementary streams and a transparent remux. USB playback on the CBHD-9100 remains available for non-DRM test encodes.


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: