MacCaption Ancillary Data Packet Transfer File

OpenSaveBroadcastCEA-608CEA-708

A video's captions as its frames carry them: each frame's caption packet, in hex, after its timecode. Where SCC holds CEA-608 alone, MCC holds the whole packet, CEA-608 and CEA-708 together. Named after MacCaption, the captioning software whose format it is.

At a glance

Extension.mcc
Media typeNone registered
SpecificationThe file: MacCaption's, described in its own header. The packets: SMPTE ST 291 and ST 334. The captions: CTA-608 and CTA-708.
Time precisionA frame, at 23.976 to 60 a second
Text encodingHex digits, with letters for runs of bytes that recur. The characters are CEA-608's and CEA-708's own.
StylingCEA-608's italics, underline and seven colours; CEA-708's own fonts, sizes and colours
PositioningCEA-608's grid of 15 rows of 32 columns; CEA-708's windows
SpeakersNone in the format. Captioners write >> at each change of speaker.
In containersThe packets, not the file: the ancillary data of SDI video, and MXF's ancillary data track

Anatomy of a file

A header, then a line for each frame that carries captions: its timecode, a tab, and the frame's packet.

File Format=MacCaption_MCC V1.0
 
// Computer Prompting and …
 
Creation Program=Subtitld
Time Code Rate=30DF
 
00:00:22;07 T…FC9420…AB
00:00:22;08 T…FC9420…AB
00:00:22;09 T…FC94AE…AB
  1. 1 · Header

    The version, 1.0 or 2.0, then MacCaption's description of the format, copied whole into every file.

  2. 2 · About the file

    What wrote the file and when, and the rate its timecodes count.

  3. 3 · Timecode

    The frame the packet goes out with.

  4. 4 · Packet

    The frame's caption packet, in hex. Inside, the two bytes of CEA-608 an SCC file would hold for that frame: 9420, 9420, 94ae …

A packet, byte by byte

T49S494F43ZZ72F4FC9420ROO74ZZ0BAB, the first line above, whole:

In the file What it is
T 61 01 An ancillary data packet of CEA-708 captions
49 Count 73 bytes follow
S 96 69 A caption distribution packet begins
49 Its length, 73 bytes
4F Its frame rate: 4, for 29.97
43 Flags Caption data follows; the caption service is on
ZZ Its number, counting up a packet at a time
72 F4 Caption data 20 sets of three bytes follow
FC9420 Field 1 A CEA-608 pair: 9420, SCC's RCL
R Field 2 FD 80 80: nothing
OO CEA-708 18 × FA 00 00: nothing this frame
74 ZZ Footer The packet's number again
0B The caption packet's checksum
AB The ancillary packet's checksum

600 sets a second, whatever the rate. A frame carries 25 sets at 24 frames a second, 24 at 25, and 20 at 30, as many at 23.976 and 29.97: two bytes of captions in each set, 9,600 bits a second. CEA-608 uses a few of them; CEA-708 has the rest.

Letters for bytes

Runs that recur in every packet are written as a letter.

Letter Bytes
G to O FA 00 00, one to nine times: CEA-708 with nothing to send
P Q R FB 80 80, FC 80 80, FD 80 80
S 96 69, the start of a caption distribution packet
T 61 01, the start of an ancillary packet of CEA-708
U E1 00 00 00
Z 00

The timecode

The header's Time Code Rate says how frames are counted: 24, 25, 30, 30DF (drop-frame, with ; before the frames), 50 or 60, and 60DF from version 2.0. Video at 23.976 counts as 24, and at 29.97 as 30 or 30DF: the frame rate in each packet says which it is.

MCC or SCC?

SCC MCC
Holds CEA-608's bytes Each frame's caption packet: CEA-608 and CEA-708
Frame rates 29.97 23.976 to 60
A line Words from a frame on, one word a frame One frame's packet

MCC in Subtitld

Kept in the .mcc
  • Every subtitle's text, in rows of 32 columns
  • Italics, underline and seven colours
  • Where it sits: top, middle or bottom; left, centre or right
  • Speakers, as >> at each change
  • Start and end, to the frame
Nowhere to go
  • Bold, fonts and sizes
  • Characters outside CEA-608's set, which become their plain letter or "?"
  • CEA-708 captions: Subtitld reads and writes the CEA-608 ones
  • Translations beside the original
  • Dubs, speakers' names and faces

Save a .usfx project to keep what is Subtitld's.

Opening an MCC file

Subtitld reads:

  • the frame rate the header and the packets give, drop-frame or not;
  • the letters, and each packet's caption data;
  • the CEA-608 captions of the first field, or of the second when the first has none, and those of CEA-608's own ancillary packets;
  • version 2.0's field and line after the timecode.

It decodes the captions as it does SCC's: pop-on, roll-up and paint-on captions; italics, underline and colours; rows and columns as the subtitle's place. The file's frame rate is kept, to save it again as it was. A file with only CEA-708 captions says so: Subtitld does not read them yet.

Exporting MCC

Subtitld's export dialog with MCC chosen, speakers as >> marks, at the video's 29.97 frames a second, drop-frame

Export, then Subtitles and MCC, offers:

  • TextThe original, or a translation.
  • Speaker namesLeft out, before the text (Thom: …), or as >> at each change of speaker.
  • FormattingKept, or removed.
  • Shift timesEvery subtitle earlier or later by the same amount.
  • Frame rate23.976, 24, 25, 29.97 (drop-frame or not) or 30: the video's, unless you choose.

Subtitld writes version 1.0, with MacCaption's header whole. The captions are the pop-on ones it writes for SCC, in the first channel: a packet for each frame that carries a pair, with nothing for the second field and CEA-708's share left empty.

Trivia

35

Lines of comments open every MCC file: MacCaption's description of the format, and its terms. The format may be written as long as they are included whole.

1986

Computer Prompting & Captioning Co. was founded. Its captioning software, MacCaption for the Mac and CaptionMaker for Windows, went to Telestream with the company in 2013.

96 69

Every caption distribution packet begins with these two bytes, MCC's S. The packet was first defined in CEA-708-B, and is now SMPTE ST 334-2.

Related formats

Have a .mcc to fix?

Open it in Subtitld with the video and retime it on the waveform.

Download Subtitld