6.5 Scenarist Closed Captions (SCC)
New in InqScribe 2.1.
InqScribe can import and export Scenarist Closed Caption (henceforth SCC) files. SCC files provide a textual representation of the Line 21 closed caption format, and may be used to generate closed captions in a variety of applications.
You can find general guidance for importing and exporting data elsewhere.
This page does not delve into the arcana of Line 21 and the SCC format. Here are some links to more exhaustive coverage of those topics.
- The core elements of SCC are described in part 15.119 of Title 47 of the Federal Code of Regulations. You can go to the GPO Access site and browse your way to a downloadable PDF.
- mcpoodle's great site covering SCC and CCD, mcpoodle's human-readable disassembly format. This site covers extensions to SCC that are not covered in the FCR reference.
- The underpinnings of SCC are formalized as EIA-608 or CEA-608. You can also purchase the specification from the CEA. This includes the extended characters and codes not described in the (free) FCR reference.
6.5.1 Representing SCC Codes in InqScribe
SCC files use four-digit hex values to represent various commands as well as to encode text values. For example, "9420" represents the Resume Caption Loading command in channel CC1.
To simplify editing within InqScribe, we've adopted a version of the Closed Caption Disassembly (CCD) format defined by mcpoodle. This format uses tags in brackets to represent various SCC characters and codes. For example, the Resume Caption Loading command would be represented in InqScribe as "{RCL}".
Our version of CCD, InqScribe Closed Caption Disassembly (ICCD), is documented below.
6.5.2 Importing SCC
InqScribe will import SCC files into the current transcript, replacing the current text selection if it exists. Importing is undoable.
As part of the import, InqScribe will convert any special characters or codes to the equivalent ICCD value. If InqScribe finds a four-digit hex value that is does not understand, it will import that value, surrounded by brackets, like this: {#8080}
. (Generally, this only happens if the SCC file contains invalid data.)
InqScribe will also convert the timecode from its SCC representation (either NTSC or NTSC drop frame) to the transcript's current timecode setting. Note that if you are importing a SCC file and want to perfect timecode match, you should make sure that you have set the transcript's timecode appropriately.
You can open SCC files with a text editor to determine whether they use NTSC or NTSC DF. If the timecodes use a semi-colon to separate seconds and frames, it's DF.
Here's an example. The following line of SCC:
00:01:14:20 9425 9425 94ad 94ad 9470 9470 d94f d552 20d0 4cc1 4345 2054 4f20 4c45 c152 ce20 c1ce c420 54c1 4ccb
will be imported into InqScribe as:
[00:01:14.20] {RU2}{RU2}{CR}{CR}{1500}{1500}YOUR PLACE TO LEARN AND TALK
Note that in this example, some codes are repeated. The SCC specification recommends repeating control codes for redundancy. Whether you do this is up to you.
6.5.3 Exporting SCC
When you export a SCC file, you can specify which CC channel (CC1, CC2, CC3 or CC4) you'd like to generate codes for. (Most control codes in SCC have different values depending on their destination channel.) If you're unsure of this, just export to CC1.
You can also define a caption prefix which is prepended to every entry in the SCC file. For example, if we return to the sample above, perhaps you want your captions to always roll up two rows and start in colum 0 of row 15.
Instead of having to do this in InqScribe:
[00:01:14.20] {RU2}{RU2}{CR}{CR}{1500}{1500}YOUR PLACE TO LEARN AND TALK
You can just do this:
[00:01:14.20] YOUR PLACE TO LEARN AND TALK
and export to SCC with the prefix {RU2}{RU2}{CR}{CR}{1500}{1500}
. For long transcripts with lots of captions, this keep transcripts much simpler.
Tip: Any text prior to the first timecode in your transcript is ignored during export. This is a good place to store any prefix codes you want to use with your transcript. That way, the prefix is saved and you can easily copy and paste it in the export dialog.
If you'd like a caption to not include the prefix -- sometimes there are special cases -- just include {NOP}
somewhere in the caption, like this:
[00:01:14.20] {NOP}{RU1}{RU1}{CR}{CR}{1500}{1500}ONE-LINER
InqScribe will convert characters and ICCD entities to the appropriate SCC equivalent. Note that SCC uses a fairly limited character set, and since InqScribe supports UTF-8, you may have characters in your transcript that have no SCC equivalent. In this case, InqScribe will convert such characters to £, which is a relatively standard practice. After exporting the file, InqScribe will notify you of all characters that it needed to convert in this way.
Note that curly brackets take on special significance when exporting to SCC: we use them to indicate ICCD codes that need to be converted to a hex value. That means that you should not use curly brackets for anything else in your transcript. It's best to use square brackets to surround timecodes. If you really need a curly bracket inserted into your caption, use the {lb}
or {rb}
equivalent.
Framerates
If your transcript is NTSC DF, then the framerate is exported as NTSC DF. Anything else is converted to NTSC NDF.
6.5.4 InqScribe Closed Caption Disassembly Reference
This section summarizes the bracketed codes that InqScribe uses to represent SCC codes and characters. The format (let's call it ICCD) differs slightly from mcpoodle's CCD:
- Since InqScribe uses UTF-8, accented characters may be typed normally and do not require special codes.
- Characters that may not have obvious keyboard equivalents (e.g. trademark, degree sign, 1/2 fraction) have codes for convenience.
Generally speaking, control codes are shown in upper case, while character codes are lower case. However, none of these codes are actually case sensitive, so {RCL}
and {rcl}
are equivalent.
You can enter hex codes directly, as 4-character blocks, by adding a hash sign after the opening bracket. For example, you can enter a Resume Caption Loading (in channel 1) code like this: {#9420}
.
Recall that InqScribe imports hex codes it doesn't understand in this way. Generally, you should not need or want to enter raw hex yourself, but if you imported a SCC file created elsewhere, it's possible that you'll get codes like this and need to export them back out later.
Character Reference
Enter accented characters normally. Special characters may be entered using the entity values shown.
Entity | Description |
---|---|
1/2 | Fractional value -- ½ |
block | A solid block |
copy | Copyright symbol -- © |
deg | Degree symbol -- ° |
div | Division sign -- ÷ |
lb | Left curly bracket -- { |
ll | Lower left of a box -- └ |
lr | Lower right of a box -- ┘ |
note | Music note |
rb | Right curly bracket -- } |
reg | Registered mark -- ® |
sm | Service mark -- ℠ |
tm | Trademark -- |
ts | Transparent space |
ul | Upper left of a box -- ┌ |
ur | Upper right of a box -- ┐ |
Mid-row Codes
Mid-row codes are used to change the font color and/or underline state.
Entity | Description |
---|---|
Wh | White |
WhU | White, underlined |
Gr | Green |
GrU | Green, underlined |
Bl | Blue |
BlU | Blue, underlined |
Cy | Cyan |
CyU | Cyan, underlined |
R | Red |
RU | Red, underlined |
Y | Yellow |
YU | Yellow, underlined |
Ma | Magenta |
MaU | Magenta, underlined |
I | Italic |
IU | Italic, underlined |
Misc Control Codes
These control codes are typically used at the start of the subtitle to clear out any prior text and position the caption appropriately.
Please note that we are not expert SCC captioners and cannot help you learn which control codes to use for your particular needs. We recommend reviewing the reference web pages listed at the top of this list for more in-depth coverage of SCC.
Entity | Description |
---|---|
AOF | Reserved (formerly Alarm Off) |
AON | Reserved (formerly Alarm On) |
BS | Backspace |
CR | Carriage Return |
DER | Delete to End of Row |
EDM | Erase Displayed Memory |
ENM | Erase Non-displayed Memory |
EOC | End of Caption |
FON | Flash On |
NOP | Not a SCC code. If present in a caption, InqScribe will not prepend the caption prefix to that line |
RCL | Resume Caption Loading |
RDC | Resume Direct Captioning |
RTD | Resume Text Display |
RU2 | Roll-up Captions: 2 Rows |
RU3 | Roll-up Captions: 3 Rows |
RU4 | Roll-up Captions: 4 Rows |
TO1 | Tab Offset: 1 Column |
TO2 | Tab Offset: 2 Columns |
TO3 | Tab Offset: 3 Columns |
TR | Text Restart |
Preamble Access Codes
Preable codes are represented in a consistent way. Rather than list them all, we'll show you examples that let you generate all possible combinations.
These codes are typically used to position the text and (optionally) set its color. Recall that there are 15 possible rows and 32 columns to work with, and that text must be aligned horizontally in a column that is divisible by 4 (e.g. 0, 4, 8, ...).
For each of these commands, replace the "##" with a two-digit row number (e.g. "01", "02", ..., "15"). Row 1 is the top of the screen; row 15 the bottom.
Entity | Description |
---|---|
##Wh | White at row ## |
##WhU | White, underlined at row ## |
##Gr | Green at row ## |
##GrU | Green, underlined at row ## |
##Bl | Blue at row ## |
##BlU | Blue, underlined at row ## |
##Cy | Cyan at row ## |
##CyU | Cyan, underlined at row ## |
##R | Red at row ## |
##RU | Red, underlined at row ## |
##Y | Yellow at row ## |
##YU | Yellow, underlined at row ## |
##Ma | Magenta at row ## |
##MaU | Magenta, underlined at row ## |
##WhI | White italic at row ## |
##WhIU | White italic, underlined at row ## |
##00 | Indent 0 columns at row ## |
##00U | Indent 0 columns, underlined, at row ## |
##04 | Indent 4 columns at row ## |
##04U | Indent 4 columns, underlined, at row ## |
##08 | Indent 8 columns at row ## |
##08U | Indent 8 columns, underlined, at row ## |
##12 | Indent 12 columns at row ## |
##12U | Indent 12 columns, underlined, at row ## |
##16 | Indent 16 columns at row ## |
##16U | Indent 16 columns, underlined, at row ## |
##20 | Indent 20 columns at row ## |
##20U | Indent 20 columns, underlined, at row ## |
##24 | Indent 24 columns at row ## |
##24U | Indent 24 columns, underlined, at row ## |
##28 | Indent 28 columns at row ## |
##28U | Indent 28 columns, underlined, at row ## |