ccEmbed - Embed Captions MXF/MOV

verifycc icon

ccEmbed is part of the ccConvert and Net-X-Code workstation and 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/OS-X/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> -p <profile> [-t <type> -a <ackfile>] [-in <00:01:00:00> -out <00:02:00:00> -absin <00:01:00:00> -ansout <300> -width # -height # -copy -dest <folder> -cc <mcc/scc file> -afile <audio-file> -v <video file> -stereo -uuid <uuid-string> -kilobitrate # -h25xprofile # -h26xlevel # -encodemode # -gopsize # -tempfolder <temp Folder> -alignment # -m -fg -fc -pisrc <picon source> -pidst <picon dest> -piframe # -piskip # -width] -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 <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
* mp3-128kbps - Audio MP3 file
* mov-YCbCr8Bit - QuickTime MOV 8 bit uncompressed YcbCr file
* mov-dvcprohd - QuickTime MOV DVCProHD
* mp4-h264 - MP4 h.264 AAC Audio
* mxf-xdcam-720p - Sony XDCam 50 at 720p
* mxf-dvcprohd-720p - Op1a DVCPro HD 720p
* mxf-xdcam-1080i - Sony XDCam 50 at 1080i
* mxf-dvcprohd-1080i - Op1a DVCPro HD 1080i
* mxf-OP1a-MPEG - MXF Op1a MPEG-2 50 16 Ch Audio
* mxf-OP1a-h264 - MXF Op1a h.264
* mxf-OP1a-HDF - MXF Op1a HDF MPEG-2
* mxf-as-11-sd-pal-dpp - MXF AS-11 SD PAL DPP
* mxf-as-11-sd-ntsc-dpp - MXF AS-11 SD NTSC DPP
* mxf-as-11-sd-dpp - MXF IMX DPP AS-11
* mxf-as-11-hd-dpp - MXF AVCi 100 DPP AS-11
* mov-proreshq - QuickTime MOV ProRes HQ
* mov-prores422 - QuickTime MOV ProRes 422
* mov-prores444 - QuickTime MOV ProRes 444(4)
* scaledown2000k - MP4 264 960x540, 2mbs
* scaledown500k - MP4 264 480x272, 0.5mbs
* 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 high quality proxy for web
* LBR-h264-10000kbs - Low bit rate, high quality local MP4
* mxf-OP1a-JPEG2K - Samma style JPEG2000 YCbCr
* mxf-AS-02-h264-10 - 10 bit 50 Mbs h.264 in AS-02 MXF
* DASH-MP4-Mutibitrate - Multi bitrate MP4s with DASH files
* HLS-TS-Mutibitrate - Multi bitrate TS streams with M3U8 files
* TS-TR-01-JPEG-2000 - TR-01 JPEG-2000 transport stream
* OP1a_HBR_50 - OP1a MXF h264 4:2:2 10 bit
* 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
  -type mxf-op1a -- the exact file type to write, otherwise auto
* mxf-op1a - standard OP1a
* mxf-sonyhd - Sony XDCam compatible
* mxf-as02 - AS - 02 spec MXF
* mp4-fmp4 - Fragmented MP4(normal MP4 if not set)
  -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)
  -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 (in 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 (mix down) output
  -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
  -tempfolder -- Temporary folder to store partial file
  -alignment -- Alignment value for any temporary partial files, for GetCopyInOut profile
  -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
  -pisrc <file-to-picon> -- source fot the
  -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
  -ci -root -level --output level denotes verbosity