ccEmbed is part of ccConvert and Net-X-Code Server software. It is designed to take MCC or SCC closed caption files and embed them into output MXF, MOV, etc. It supports re-wrapping the source audio/video, as well as converting while embedding. This article contains the Linux/Windows command line API for this tool. A RESTful API is also available.
ccEmbed - Embed Closed Caption
ccEmbed takes standalone caption files like MCC, SCC, AAF, Grass Valley N0 and others, and embeds them into media files like MXF and MOV. During this process it can simply re-wrap the original audio/video/metadata, or it can convert them to a new format as it embeds. For closed caption extraction and conversion, please see ccExtract.
Wrap and Embed New Captions
ccEmbed -s <sourcefile.mxf> -t <targetfile.mxf> -cc <newcaptions>.mcc -p wrap
Create New Sony XDCam 50 with New Captions
ccEmbed -s <sourcefile.mxf> -t <targetfile.mxf> -cc <newcaptions>.mcc -p mxf-OP1a-MPEG
Command Line Parameters
ccEmbed -s <sourcefile> -t <targetfile> [-a <ackfile>] -p <profile> [-in <00:01:00:00> -out <00:02:00:00> -fg]
netxcopy: Wrap, Convert, Extract, Thumbnail and Index Media Files (v7.1.0.491)
netxcopy -s <sourcefile> -t <targetfile> [-a <ackfile>] -p <profile> [-in <00:01:00:00> -out <00:02:00:00> -fg]
-s <sourcefile> - The source file name and path
-t <targetfile> - The target file name and path
-a <ackfile> - The ACK file name and path. This is the XML acknowledgement file made after a copy
-p metadata - Return XMP metadata for a media file
-p cardinfo - Return XML/JSON info on clips on a camera card
-p dir - Return XML/JSON directory listing
-p clipfiles - Return all the files associated with a media clip
-p md5 - Calculate or check the MD5 value source, send compare string as target
-p <profile> - Profile to use. Current profiles include:
> copy - copy the whole file
> wrap - re wrap file or part of a file
> index - create an RTIndex for a file
> caption - #- Extract captions from a file (see types below)
> cardinfo - cardinfo
> dir - dir
> clipfiles - clipfiles
> md5 - create md5
> xmp - create xmp
> picon - create picon
> metadata - show metadata
> getCopyInOut - get the extents required for a pfr, or use them with a temp file
> getFirstAndLastTimecode - get the first and last time code of a file
> examine - Show file info
> mov-YCbCr8Bit - QuickTime MOV YCbCr 8 Bit
> mov-dvcprohd - QuickTime MOV DVCProHD
> mp4-h264 - QuickTime MOV h264
> mxf-xdcam-720p - MXF OP1a XDCam 720p 50 4:2:2
> mxf-dvcprohd-720p - MXF OP1a DVCPro HD 720p
> mxf-xdcam-1080i - MXF OP1a XDCam 1080i 50 4:2:2
> mxf-dvcprohd-1080i - MXF OP1a DVCPro HD 1080i
> mov-prores422 - QuickTime MOV ProRes 4:2:2
> mov-proreshq - QuickTime MOV ProRes HQ
> mxf-OP1a-MPEG - MXF OP1a MPEG 50 4:2:2
> mxf-OP1a-h264 - MXF OP1a h.264
> mxf-OP1a-HDF - MXF OP1a HDF 50 4:2:2
> mxf-as-11-hd-dpp - MXF AS-11 HD DPP
> scaledown2000k - MP4 - Scaledown to 960x540 with a target bitrate of 2mbits
> scaledown500k - MP4 - Scaledown to 480x272 with a target bitrate of 500kbits
> mxf-as-11-sd-pal-dpp - MXF AS-11 SD PAL DPP
> mxf-as-11-sd-ntsc-dpp - MXF AS-11 SD NTSC DPP
> hd1080-5000kbs - MP4 - HD 1080 with a target bitrate of 5 mbs
> hd720-2500kbs - MP4 - HD 720p with a target bitrate of 2.5 mbs
> hd360-1250kbs - MP4 - HD 360p with a target bitrate of 1.25 mbs
> h264-7500kbs - MP4 - Any resolution with a target bitrate of 7.5 mbs
> Proxy-h264-5000kbs - MP4 - Any resolution with a target bitrate of 5 mbs
> LBR-h264-10000kbs - MP4 - Any resolution with a target bitrate of 10 mbs
> mxf-OP1a-JPEG2K - MXF OP1a JPEG-2000 4:2:2
> mxf-AS-02-h264-10 - MXF AS-02 h.264 50 mbs
> DASH-MP4-Multibitrate - MP4 - DASH MP4 Multibitrate
> HLS-TS-Multibitrate - TS - HLS Multibitrate
> TS-TR-01-JPEG-2000 - TS TR-01 JPEG-2000
> mxf-OP1a_HBR_50 - MXF OP1a HBR 264 10 bit 50mbs
> mp3-128kbps - MP3 bit rate 128k
> mp4-XAVC-S_4_2_0 - MP4 Sony XAVC-S 4:2:0
> mp4-XAVC-S_4_2_2 - MP4 Sony XAVC-S 4:2:2
> mov-prores444 - QuickTime MOV ProRes 4:4:4
> mov-proresxq - QuickTime MOV ProRes XQ
> aces - ACES Image Files
> dnxhd-mxf-720p - DNxHD 720p 50, 59, 60
> dnxhd-mxf-1080p - DNxHD 1080p 25, 29, 30
> dnxhd-mxf-1080i - DNxHD 1080i 25, 29, 30
> dnxhr-mxf-10-hq - DNxHR 10 Bit
> dnxhr-mxf-sq - DNxHR SQ
> dnxhr-mxf-lq - DNxHR LQ
> TS-MPEG2 - TS-MPEG2 - MPEG-2 4:2:0/passthrough transport stream
> TS-h264 - TS-h264 - h.264 4:2:0/passthrough transport stream
> wave - WAVE audio only
> MXF-RDD-25 - MXF RDD-25 Proxy Writer
> amt3-LowQuality - MXF Avid Media Low Quality Writer
> amt3-StandardQuality - MXF Avid Media Standard Quality Writer
> amt3-HiQuality - MXF Avid Media High Quality Writer
> amt3-HQX_10 - MXF Avid Media HQX 10 Writer
> amt3-DNxHD36 - MXF Avid Media DNxHD 1080 Writer
> MP4-MultiOutput - MP4 - Multiple MP4 Output
> HEVC-h265-10000kbs - MP4 - HEVC Any resolution with a target bitrate of 10 mbs
> mov-xdcam - MOV - MPEG-2 50 4:2:2
> mkv-ffv1 - MKV - FFV1 Lossless
> dnxhr-mxf-hq - DNxHR HQ
> mov-proreslt - QuickTime MOV ProRes LT
> mov-proresproxy - QuickTime MOV ProRes Proxy
> mp4-vtt-h264 - QuickTime MOV h264
> kipro-prores-lt - QuickTime MOV ProRes LT
> amt3-XDCam - MXF Avid Media XDCam Writer
> amt3-Proxy - MXF Avid Media Proxy Writer
> amt3-Uncompressed - MXF Avid Media Uncompressed Writer
> transport_stream - h264 transport stream
> mxf-xdcam35-1080i - MXF OP1a XDCam 1080i 35 4:2:0
> mxf-xdcam35-1080p - MXF OP1a XDCam 1080p 35 4:2:0
> mxf-xdcam35-720p - MXF OP1a XDCam 720p 35 4:2:0
-in <00:01:00:00> - the starting point for the output file in time code or absolute position
-out <00:02:00:00> - the ending point for the output file in time code or absolute position
-absin <200> - the absolute (zero based) start time for the output file (overrides -in)
-tcoffset <00:01:00:00> - Offset the time code by this amount
-tc <01:00:00:00> - Replace the output time code starting with this timecode
-ub <ABCD0123> - Replace the output userbits with these userbits
-absout <400> - the absolute (zero based) end time, exclusive, for the output file (overrides -out)
-width <width> - output width of the video (only for arbitrary codecs like h264, hevc and prores)
-height <height> - output height of the video (if not set, the input size or codec size will be used)
-copy - make a copy of the file section we need, instead of reading directly
-dest - folder or folder and file name for the temp file when using copy
-dest <folder> - folder or folder and file name for the temp file when using copy
-cc <mcc/scc file> - replacement closed caption file>
-afile <path-audio-file> - replacement source audio track<s>
-v <path-video-file> - replacement source video track
-stereo - force a stereo pair (mixdown) output
-aroute <12345678/auto> - route channels to specific outputs
-uuid <uuid string> - override the UUID of the file with this one
-kilobitrate <kbit rate> - override the kilo bit rate
-h26xprofile <baseline / main / high / high10 / high422 / high444> - override the profile type
-h26xlevel <51> - override the level
-encodemode <0 / 1> - 0 normal, 1 fastest
-gopsize <15> - size of encoded gop
-scenedetect <0> - aggressiveness of scene detection (0-100)
-tempfolder - Temporary folder to store partial file
-alignment - Alignment value for any temporary partial files, for GetCopyInOut profile
-flags flag - Extra flags for special operations
allSubAudioTracks, aiProfileID-##, audiofirstonly, audioforce8channels, ccExtractChannel-##,
ccOutputDirectory-**, convert708to608, use708CompatibiltyBytes, deinterlace-all, deinterlace-auto,
deinterlace-sd, deinterlace-hd1080, forceinterlaced, forceprogressive, deinterlace-motionadaptive,
deinterlace-yadif, deinterlace-edge, deinterlace-triangle, deinterlace-fieldduplication,
eMamAssetID-##, eMamCategory-**, eMamProxyID-##, extractCCLine21, fixOut, forceCCVidStream, forceCaptions,
forceAudioMono, forceAudioStereo, forceAudioBlock, forceOutputFramerate-##, fpsCompensation-##,
frameAccurate, interplay, interpretFileEncoding-##, markFirstTime, multi, nocache, notifyeMam,
offsetTC-##, overrideTC-##, outIsDuration, proxyAfterRecord, overrideextension, proxyDisable, proxyEnable,
proxyRecord, rtinReplaceSource, sampleaccurate, shuffleAudio, testMode, processdiscontinuities,
tctype24/25/df/ndf/50/59/60, timeConversion, timeIsMs, use2channelsonly, zeroBasedOutput
-m - Save the metadata in an XMP file
-fg - force the GUI on
-fc - force command line
NOTE: the parameters in [square brackets] are optional.
For JPEG picons/thumbnails:
-pisrc <file-to-picon> - source for the image
-pidst <where-to-make-picon> - target folder and name
-pisize <size> - size of picon, 100%
-piframe <frame-offset-into-file> - frame to use to make the picon
-piskip <number-of-frames-to-skip> - if set, make a picon of each frame at this distance for the whole file
-width <width> - output width of the picon image
For Caption Extraction, these are the numbers to use with -p caption-#
> caption-# - eg caption-0=mcc, caption-6=SCCAUTO, etc.
0=MCC, 1=AAF, 2=TEXT, 3=SCC, 4=SCCDF, 5=N0, 6=SCCAUTO,
100=Avid Caption, 101=Belle Nuit Subtitler,
102=CapMaker Plus, 103=Cheetah Caption, 104=Csv, 105=Csv2, 106=Csv3,
107=D-Cine SMPTE 2007, 108=D-Cine SMPTE 2010,
109=EBU STL, 110=Final Cut Pro Xml,
111=Final Cut Xml Gap, 112=Final Cut Pro X Xml,
113=Final Cut Pro XCM, 114=Flash Xml,
115=iTunes Timed Text, 116=JSON, 117=JSON Type 2,
118=JSON Type 3, 119=JSON Type 4, 120=QuickTime text,
121=SAMI, 122=SAMI modern, 123=Scenarist, 124=DVD_SCC,
125=DVD_SCCDF, 126=SoftNi sub, 127=Sony DVDArchitect,
128=Sony DVD Exp dur, 129=Sony DVD line/dur,
130=Sony DVD Tabs, 131=SubRip, 132=Sub Station Alpha,
133=Swift V2, 134=Timed Text 1.0, 135=TT 2006-04 .dfxp,
136=TT 2006-04 .ttml, 137=TT 2006-04 .xml, 138=WebVTT,
139=YT Annotations, 140=YouTube sbv,
141=YouTube Transcript, 142=D-Cinema interop,
143=WebVTT-webvtt, 144=SMPTE-TT 2052,
145=Netflix Timed Text,
-q Quiet mode
-l Loud mode
-r 01:00:00:00 Override time code start
-R -00:30:00:00 Offset time codes (e.g. subtract half an hour)
-0 Zero based time code output
-1 Mark this first time code in file
-h # eMAM source clip ID
-s Force CC in video stream
-X Extract CC from line 21 (SD only)
-M # CC channel to extract (def: 1)
-C Use 608 compatibility bytes (not 708)
-c # Convert closed captioning to
-f # Force output frame rate (23, 24, 25, 29, 30)
-g # Compensate conversion (2324, 2423, 2930, 3029)
-o <out-dir> CC output directory
-E # Interpret input file using encoding
0=Auto, 1=UTF-8, 2=UTF-16, 3=IBM-850, 4=IBM-860, 5=Windows-1252
Trademarks, Registered Trademarks, and CopyrightsTrademarks, Registered Trademarks, and Copyrights
Avid Technology, Inc. - Avid Media Composer®, Avid MediaCentral®, Avid Interplay®, and Avid NewsCutter® are either trademarks or registered trademarks of Avid Technology, Inc. or its subsidiaries in the United States and/or other countries.
Belle Nuit Montage - Matthias Bürcher August 2000-2016. All rights reserved. Written in Switzerland. Starting 2016 Belle Nuit Subtitler is released under the GNU Lesser General Public License
Drastic Technologies, Ltd. – trademarks specified here.
Google LLC – YouTube, Google, Google Cloud, Google.meet.com, and Android are registered trademarks of Google LLC
Grass Valley USA, LLC - Grass Valley®, GV®, the Grass Valley logo, and EDIUS® are trademarks or registered trademarks of Grass Valley USA, LLC, or its affiliated companies in the United States and other jurisdictions.
International Business Machines Corporation (“IBM”) - IBM® is a trademark owned by International Business Machines Corporation (“IBM”) and might also be trademarked or a registered trademark in other countries
Linus Torvalds - Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Microsoft Corporation – Microsoft: Windows®, Video For Windows (VFW), DirectShow, Microsoft, Skype, Microsoft Azure, Microsoft Teams, Wave Mapper, Microsoft, Windows NT|2000|XP|XP Professional|Server 2003|Server 2008 |Server 2012, Windows 7, Windows 8, Media Player, Media Encoder, .Net, Internet Explorer, SQL Server 2005|2008|2012|2014, Windows Media Technologies and Internet Explorer are trademarks of Microsoft Corporation.
MPEG LA - MPEG LA licenses patent pools covering essential patents required for use of the MPEG-2, MPEG-4, IEEE 1394, VC-1, ATSC, MVC, MPEG-2 Systems, AVC/H.264 and HEVC standards.
Netflix, Inc. - Netflix is a registered trademark of Netflix, Inc.
Society of Motion Picture and Television Engineers - SMPTE is a trademark of Society of Motion Picture and Television Engineers.
SoftNI Corporation – SoftNI is a trademark of SoftNI Corporation
Sony Corporation – Sony, Sony DVD Architect, DVD, Catalyst, and Vegas are trademarks of Sony Corporation and/or its affiliates.
All other trademarks are the property of their respective owners.