Net-X-Copy - Create, Convert & Proxy

verifycc icon

Net-X-Copy is part of the Net-X-Code server and Net-X-Convert/Proxy workstation software. It is designed to convert audio/video/media files to proxy or broadcast/post files, mix audio, extract metadata, and create one or more jpeg preview images.  It can also embed captions into output files like MXF and MOV, and replace the audio or video tracks of a source file during conversion. This article contains the Linux/OS-X/Windows command line API for this tool.

Net-X-Copy (Convert/Proxy)

Net-X-Copy is a command line interface to the copy engine used in Net-X-Code, Net-X-Convert, Net-X-Proxy and videoQC's export feature.  It can be used for a number of file extraction and conversion functions including clipping, proxy generation, metadata extraction and partial file restore.  All these conversions are also available for our REST API.  Some examples of typical command lines follow:

Basic conversion

NetXCopy -s <sourcefile> -t <targetfile> [-a <ackfile>] -p <profile>

Proxy Conversion

NetXCopy -s <sourcefile> -t <targetfile> -p mp4-h264

Proxy Conversion With Parameters

NetXCopy -s <sourcefile> -t <targetfile> -p mp4-h264 -width 640 -height 288 -h26xprofile high -h26xlevel 51 -gopsize 30 -kilobitrate 4000

HLS ABR Proxy Conversion

NetXCopy -s <sourcefile> -p <targetfile> -p HLS-TS-Multibitrate

DASH ABR Proxy Conversion

NetXCopy -s <sourcefile> -p <targetfile> -p HLS-TS-Multibitrate

Export XDCam With Embedded Captions

NetXCopy -s <sourcefile> -t <targetfile>.mxf -p mxf-sonyhd -cc <alternatecaptions>.mcc

Metadata Extraction

NetXCopy -s <sourcefile> -t <sourcefile>.xmp -m

Single JPG Frame Extraction

NetXCopy -pisrc <sourcefile> -pidst <targetfile>.jpg -piframe 100

Mulitple JPG Frame Extraction (every 30 frames)

NetXCopy -pisrc <sourcefile> -pidst <targetfile>.jpg -piskip 30

 

Command Line Parameters

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 acknowledgment file made after a copy
  -p <profile> One of the following profile settings
    • copy – copy the whole file
    • wrap – re wrap file or part of a file
    • index – create an RTIndex for a file
    • mp3-128kbps - Audio only MPEG Layer 3 audio
    • mov-YCbCr8Bit – QuickTime MOV 8 bit uncompressed YcbCr file
    • mov-dvcprohd - QuickTime MOV DVHD 100
    • mp4-h264 - MP4 with h264, original size
    • mxf-xdcam-720p - MXF Sony XDCam 720p
    • mxf-dvcprohd-720p - MXF DVHD 720p
    • mxf-xdcam-1080i - MXF Sony XDCam 1080i
    • mxf-dvcprohd-1080i - MXF DVHD 1080i
    • mxf-OP1a-MPEG - MXF OP1a MPEG (XDCam like, 16 audio channels)
    • mxf-op1a-h264 - MXF h.264
    • mxf-OP1a-HDF - MXF MPEG HDF
    • mxf-as-11-sd-dpp - MXF DPP SD IMX
    • mxf-as-11-hd-dpp - MXF DPP HD AVCi
    • mov-proreshq - QuickTime MOV ProRes HQ
    • mov-prores422 - QuickTime MOV ProRes 422
    • mxf-as-11-sd-pal-dpp - MXF AS-11 SD PAL DPP
    • mxf-as-11-sd-ntsc-dpp - MXF AS-11 SD NTSC DPP
    • 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-Multibitrate - Multi bitrate MP4s with DASH files
    • HLS-TS-Multibitrate - Multi bitrate TS streams with M3U8 files
    • TS-TR-01-JPEG-2000 - TR-01 JPEG-2000 transport stream
    • mxf-OP1a_HBR_50 - MXF OP1a h264 4:2:2 10 bit
    • 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)
  -tcoffset <100> an offset to apply to all time code operations
  -tc <100> time code
  -width <width> the width of the video output, overrides when not fixed by codec
  -height <height> the height of the video output, overrides when not fixed by codec
  -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
  -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
  -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
  -fg force the GUI on
  -fc force command line
For JPEG picons
  -pisrc <file-to-picon> -- source for the picon
  -pidst <where-to-make-picon> -- target folder and name
  -pisize <size> -- size of picon, 100%-10%
  -width <width> the width of the picon output, overrides piSize
  -piframe <frame-offset-into-file> -- frame to use to make the picon
  -piskip <Number of frames to skip between picons> If set, a series of picons will be produced at ‘skip’
intervals
NOTE: the parameters in [square brackets] are optional.