Created
March 8, 2019 18:46
-
-
Save brimestoned/f47d4736641ef02f1d90b0b3c28b9237 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Use <mxf input> '-' for standard input | |
Options (* means option is required): | |
-h | --help Show usage and exit | |
-v | --version Print version info | |
-p Print progress percentage to stdout | |
-l <file> Log filename. Default log to stderr/stdout | |
--log-level <level> Set the log level. 0=debug, 1=info, 2=warning, 3=error. Default is 1 | |
-t <type> Clip type: as02, as11op1a, as11d10, as11rdd9, op1a, avid, d10, rdd9, as10, wave. Default is op1a | |
* -o <name> as02: <name> is a bundle name | |
as11op1a/as11d10/op1a/d10/rdd9/as10/wave: <name> is a filename | |
avid: <name> is a filename prefix | |
--prod-info <cname> | |
<pname> | |
<ver> | |
<verstr> | |
<uid> | |
Set the product info in the MXF Identification set | |
<cname> is a string and is the Company Name property | |
<pname> is a string and is the Product Name property | |
<ver> has format '<major>.<minor>.<patch>.<build>.<release>' and is the Product Version property. Set to '0.0.0.0.0' to omit it | |
<verstr> is a string and is the Version String property | |
<uid> is a UUID (see Notes at the end) and is the Product UID property | |
--create-date <tstamp> Set the creation date in the MXF Identification set. Default is 'now' | |
--input-file-md5 Calculate an MD5 checksum of the input file | |
-y <hh:mm:sscff> Override input start timecode. Default 00:00:00:00 | |
The c character in the pattern should be ':' for non-drop frame; any other character indicates drop frame | |
--mtc Check first and use the input material package start timecode if present | |
--fstc Check first and use the file source package timecode if present | |
--pstc Check first and use the physical source package timecode if present | |
--tc-rate <rate> Start timecode rate to use when input is audio only | |
The <rate> is either 'num', 'num'/'den', 23976 (=24000/1001), 2997 (=30000/1001) or 5994 (=60000/1001) | |
--clip <name> Set the clip name | |
--start <frame> Set the start frame in input edit rate units. Default is 0 | |
--dur <frame> Set the duration in frames in input edit rate units. Default is minimum input duration | |
--check-end Check at the start that the last (start + duration - 1) frame can be read | |
--check-complete Check that the input file is complete | |
--group Use the group reader instead of the sequence reader | |
Use this option if the files have different material packages | |
but actually belong to the same virtual package / group | |
--no-reorder Don't attempt to order the inputs in a sequence | |
Use this option for files with broken timecode | |
--rt <factor> Transwrap at realtime rate x <factor>, where <factor> is a floating point value | |
<factor> value 1.0 results in realtime rate, value < 1.0 slower and > 1.0 faster | |
--gf Support growing files. Retry reading a frame when it fails | |
--gf-retries <max> Set the maximum times to retry reading a frame. The default is 10. | |
--gf-delay <sec> Set the delay (in seconds) between a failure to read and a retry. The default is 1.000000. | |
--gf-rate <factor> Limit the read rate to realtime rate x <factor> after a read failure. The default is 1.500000 | |
<factor> value 1.0 results in realtime rate, value < 1.0 slower and > 1.0 faster | |
--http-min-read <bytes> | |
Set the minimum number of bytes to read when accessing a file over HTTP. The default is 65536. | |
--no-precharge Don't output clip/track with precharge. Adjust the start position and duration instead | |
--no-rollout Don't output clip/track with rollout. Adjust the duration instead | |
--rw-intl Interleave input reads with output writes | |
--rw-intl-size The interleave size. Default is 65536 | |
Value must be a multiple of the system page size, 4096 | |
--avcihead <format> <file> <offset> | |
Default AVC-Intra sequence header data (512 bytes) to use when the input file does not have it | |
<format> is a comma separated list of one or more of the following integer values: | |
0: AVC-Intra 100 1080i50 | |
1: AVC-Intra 100 1080i59.94 | |
2: AVC-Intra 100 1080p25 | |
3: AVC-Intra 100 1080p29.97 | |
4: AVC-Intra 100 720p25 | |
5: AVC-Intra 100 720p50 | |
6: AVC-Intra 100 720p29.97 | |
7: AVC-Intra 100 720p59.94 | |
8: AVC-Intra 50 1080i50 | |
9: AVC-Intra 50 1080i29.97 | |
10: AVC-Intra 50 1080p25 | |
11: AVC-Intra 50 1080p29.97 | |
12: AVC-Intra 50 720p25 | |
13: AVC-Intra 50 720p50 | |
14: AVC-Intra 50 720p29.97 | |
15: AVC-Intra 50 720p59.94 | |
16: AVC-Intra 100 1080p50 | |
17: AVC-Intra 100 1080p59.94 | |
18: AVC-Intra 50 1080p50 | |
19: AVC-Intra 50 1080p59.94 | |
20: AVC-Intra 50 1080p23.98 | |
21: AVC-Intra 50 720p23.98 | |
22: AVC-Intra 100 1080p23.98 | |
23: AVC-Intra 100 720p23.98 | |
24: AVC-Intra 200 1080i50 | |
25: AVC-Intra 200 1080i59.94 | |
26: AVC-Intra 200 1080p25 | |
27: AVC-Intra 200 1080p29.97 | |
28: AVC-Intra 200 1080p23.98 | |
29: AVC-Intra 200 720p25 | |
30: AVC-Intra 200 720p50 | |
31: AVC-Intra 200 720p29.97 | |
32: AVC-Intra 200 720p59.94 | |
33: AVC-Intra 200 720p23.98 | |
34: AVC-Intra 200 1080p50 | |
35: AVC-Intra 200 1080p59.94 | |
or set <format> to 'all' for all formats listed above | |
The 512 bytes are extracted from <file> starting at <offset> bytes | |
and incrementing 512 bytes for each format in the list | |
--ps-avcihead Panasonic AVC-Intra sequence header data for Panasonic-compatible files that don't include the header data | |
These formats are supported: | |
AVC-Intra 100 1080i50, AVC-Intra 100 1080p25, AVC-Intra 100 720p25, AVC-Intra 100 720p50, | |
AVC-Intra 50 1080i50, AVC-Intra 50 1080p25, AVC-Intra 50 720p25, AVC-Intra 50 720p50 | |
-a <n:d> Override or set the image aspect ratio | |
--bsar Set image aspect ratio in video bitstream. Currently supports D-10 essence types only | |
--vc2-mode <mode> Set the mode that determines how the VC-2 data is wrapped | |
<mode> is one of the following integer values: | |
0: Passthrough input, but add a sequence header if not present, remove duplicate/redundant sequence headers | |
and fix any incorrect parse info offsets and picture numbers | |
1: (default) Same as 0, but remove auxiliary and padding data units and complete the sequence in each frame | |
--locked <bool> Override or set flag indicating whether the number of audio samples is locked to the video. Either true or false | |
--audio-ref <level> Override or set audio reference level, number of dBm for 0VU | |
--dial-norm <value> Override or set gain to be applied to normalize perceived loudness of the clip | |
--signal-std <value> Override or set the video signal standard. The <value> is one of the following: | |
'none', 'bt601', 'bt1358', 'st347', 'st274', 'st296', 'st349', 'st428' | |
--frame-layout <value> Override or set the video frame layout. The <value> is one of the following: | |
'fullframe', 'separatefield', 'singlefield', 'mixedfield', 'segmentedframe' | |
--field-dom <value> Override or set which field is first in temporal order. The <value> is 1 or 2 | |
--transfer-ch <value> Override or set the transfer characteristic label | |
The <value> is a SMPTE UL, formatted as a 'urn:smpte:ul:...' or one of the following: | |
'bt470', 'bt709', 'st240', 'st274', 'bt1361', 'linear', 'dcdm', | |
'iec61966', 'bt2020', 'st2084', 'hlg' | |
--coding-eq <value> Override or set the coding equations label | |
The <value> is a SMPTE UL, formatted as a 'urn:smpte:ul:...' or one of the following: | |
'bt601', 'bt709', 'st240', 'ycgco', 'gbr', 'bt2020' | |
--color-prim <value> Override or set the color primaries label | |
The <value> is a SMPTE UL, formatted as a 'urn:smpte:ul:...' or one of the following: | |
'st170', 'bt470', 'bt709', 'bt2020', 'dcdm', 'p3' | |
--color-siting <value> Override or set the color siting. The <value> is one of the following: | |
'cositing', 'horizmp', '3tap', 'quincunx', 'bt601', 'linealt', 'vertmp', 'unknown' | |
(Note that 'bt601' is deprecated in SMPTE ST 377-1. Use 'cositing' instead) | |
--black-level <value> Override or set the black reference level | |
--white-level <value> Override or set the white reference level | |
--color-range <value> Override or set the color range | |
--rdd36-opaque Override and treat RDD-36 4444 or 4444 XQ as opaque by omitting the Alpha Sample Depth property | |
--rdd36-comp-depth <value> Override of set component depth for RDD-36. Defaults to 10 if not present in input file | |
--ignore-input-desc Don't use input MXF file descriptor properties to fill in missing information | |
--track-map <expr> Map input audio channels to output tracks. See below for details of the <expr> format | |
--dump-track-map Dump the output audio track map to stderr. | |
The dumps consists of a list output tracks, where each output track channel | |
is shown as '<output track channel> <- <input channel> | |
--dump-track-map-exit Same as --dump-track-map, but exit immediately afterwards | |
as11op1a/as11d10/as11rdd9/op1a/rdd9/d10: | |
--head-fill <bytes> Reserve minimum <bytes> at the end of the header metadata using a KLV Fill | |
Add a 'K' suffix for kibibytes and 'M' for mibibytes | |
as02: | |
--mic-type <type> Media integrity check type: 'md5' or 'none'. Default 'md5' | |
--mic-file Calculate checksum for entire essence component file. Default is essence only | |
--shim-name <name> Set ShimName element value in shim.xml file to <name>. Default is 'Sample File' | |
--shim-id <id> Set ShimID element value in shim.xml file to <id>. Default is 'http://bbc.co.uk/rd/as02/default-shim.txt' | |
--shim-annot <str> Set AnnotationText element value in shim.xml file to <str>. Default is 'Default AS-02 shim' | |
as02/as11op1a/op1a/rdd9/as10: | |
--part <interval> Video essence partition interval in frames in input edit rate units, or (floating point) seconds with 's' suffix. Default single partition | |
as11op1a/as11d10/as11rdd9: | |
--dm <fwork> <name> <value> Set descriptive framework property. <fwork> is 'as11' or 'dpp' | |
--dm-file <fwork> <name> Parse and set descriptive framework properties from text file <name>. <fwork> is 'as11' or 'dpp' | |
--seg <name> Parse and set segmentation data from text file <name> | |
--pass-dm Copy descriptive metadata from the input file. The metadata can be overidden by other options | |
--spec-id <id> Set the AS-11 specification identifier labels associated with <id> | |
The <id> is one of the following: | |
as11-x1 : AMWA AS-11 X1, delivery of finished UHD programs to Digital Production Partnership (DPP) broadcasters | |
as11-x2 : AMWA AS-11 X2, delivery of finished HD AVC Intra programs to a broadcaster or publisher | |
as11-x3 : AMWA AS-11 X3, delivery of finished HD AVC Long GOP programs to a broadcaster or publisher | |
as11-x4 : AMWA AS-11 X4, delivery of finished HD AVC Long GOP programs to a broadcaster or publisher | |
as11-x7 : AMWA AS-11 X7, delivery of finished SD D10 programs to a broadcaster or publisher | |
as11-x8 : AMWA AS-11 X8, delivery of finished HD (MPEG-2) programs to North American Broadcasters Association (NABA) broadcasters | |
as02/as11op1a/as11d10/op1a/d10/rdd9/as10: | |
--afd <value> Active Format Descriptor 4-bit code from table 1 in SMPTE ST 2016-1. Default is input file's value or not set | |
as11op1a/as11d10/op1a/d10/rdd9/as10: | |
--single-pass Write file in a single pass | |
Header and body partitions will be incomplete for as11op1a/op1a if the number if essence container bytes per edit unit is variable | |
--file-md5 Calculate an MD5 checksum of the output file. This requires writing in a single pass (--single-pass is assumed) | |
as11op1a/op1a: | |
--pass-anc <filter> Pass through ST 436 ANC data tracks | |
<filter> is a comma separated list of ANC data types to pass through | |
The following ANC data types are supported in <filter>: | |
all : pass through all ANC data | |
st2020 : SMPTE ST 2020 / RDD 6 audio metadata | |
st2016 : SMPTE ST 2016-3/ AFD, bar and pan-scan data | |
sdp : SMPTE RDD 8 / OP-47 Subtitling Distribution Packet data | |
st12 : SMPTE ST 12 Ancillary timecode | |
st334 : SMPTE ST 334-1 EIA 708B, EIA 608 and data broadcast (DTV) | |
--pass-vbi Pass through ST 436 VBI data tracks | |
--st436-mf <count> Set the <count> of frames to examine for ST 436 ANC/VBI manifest info. Default is 2 | |
The manifest is used at the start to determine whether an output ANC data track is created | |
Set <count> to 0 to always create an ANC data track if the input has one | |
--anc-const <size> Use to indicate that the ST 436 ANC frame element data, excl. key and length, has a constant <size>. A variable size is assumed by default | |
--anc-max <size> Use to indicate that the ST 436 ANC frame element data, excl. key and length, has a maximum <size>. A variable size is assumed by default | |
--st2020-max The ST 436 ANC maximum frame element data size for ST 2020 only is calculated from the extracted manifest. Option '--pass-anc st2020' is required. | |
--vbi-const <size> Use to indicate that the ST 436 VBI frame element data, excl. key and length, has a constant <size>. A variable size is assumed by default | |
--vbi-max <size> Use to indicate that the ST 436 VBI frame element data, excl. key and length, has a maximum <size>. A variable size is assumed by default | |
--rdd6 <file> Add ST 436 ANC data track containing 'static' RDD-6 audio metadata from XML <file> | |
The timecode fields are ignored, i.e. they are set to 'undefined' values in the RDD-6 metadata stream | |
--rdd6-lines <lines> A single or pair of line numbers, using ',' as the separator, for carriage of the RDD-6 ANC data. The default is a pair of numbers, '9,572' | |
--rdd6-sdid <sdid> The SDID value indicating the first audio channel pair associated with the RDD-6 data. Default is 4 | |
op1a/rdd9/d10: | |
--xml-scheme-id <id> Set the XML payload scheme identifier associated with the following --embed-xml option. | |
The <id> is one of the following: | |
* a SMPTE UL, formatted as a 'urn:smpte:ul:...', | |
* a UUID, formatted as a 'urn:uuid:...'or as 32 hexadecimal characters using a '.' or '-' seperator, | |
* 'as11', which corresponds to urn:smpte:ul:060e2b34.04010101.0d010801.04010000 | |
A default BMX scheme identifier is used if this option is not provided | |
--xml-lang <tag> Set the RFC 5646 language tag associated with the the following --embed-xml option. | |
Defaults to the xml:lang attribute in the root element or empty string if not present | |
--embed-xml <filename> Embed the XML from <filename> using the approach specified in SMPTE RP 2057 | |
If the XML size is less than 64KB and uses UTF-8 or UTF-16 encoding (declared in | |
the XML prolog) then the XML data is included in the header metadata. Otherwise | |
a Generic Stream partition is used to hold the XML data. | |
op1a: | |
--min-part Only use a header and footer MXF file partition. Use this for applications that don't support | |
separate partitions for header metadata, index tables, essence container data and footer | |
--body-part Create separate body partitions for essence data | |
and don't create separate body partitions for index table segments | |
--repeat-index Repeat the index table segments in the footer partition | |
--clip-wrap Use clip wrapping for a single sound track | |
--mp-track-num Use the material package track number property to define a track order. By default the track number is set to 0 | |
op1a/rdd9: | |
--ard-zdf-hdf Use the ARD ZDF HDF profile | |
as10: | |
--shim-name <name> Shim name for AS10 (used for setting 'ShimName' metadata and setting video/sound parameters' checks) | |
list of known shims: HIGH_HD_2014, CNN_HD_2012, NRK_HD_2012, JVC_HD_35_VBR_2012, JVC_HD_25_CBR_2012 | |
--dm-file as10 <name> Parse and set descriptive framework properties from text file <name> | |
N.B. 'ShimName' is the only mandatary property of AS10 metadata set | |
--dm as10 <name> <value> Set descriptive framework property | |
--pass-dm Copy descriptive metadata from the input file. The metadata can be overidden by other options | |
--mpeg-checks [<name>] Enable AS-10 compliancy checks. The file <name> is optional and contains expected descriptor values | |
--loose-checks Don't stop processing on detected compliancy violations | |
--print-checks Print default values of mpeg descriptors and report on descriptors either found in mpeg headers or copied from mxf headers | |
--max-same-warnings <value> Max same violations warnings logged, default 3 | |
as11d10/d10: | |
--d10-mute <flags> Indicate using a string of 8 '0' or '1' which sound channels should be muted. The lsb is the rightmost digit | |
--d10-invalid <flags> Indicate using a string of 8 '0' or '1' which sound channels should be flagged invalid. The lsb is the rightmost digit | |
avid: | |
--project <name> Set the Avid project name | |
--tape <name> Source tape name | |
--import <name> Source import name. <name> is one of the following: | |
- a file URL starting with 'file://' | |
- an absolute Windows (starts with '[A-Z]:') or *nix (starts with '/') filename | |
- a relative filename, which will be converted to an absolute filename | |
--comment <string> Add 'Comments' user comment to the MaterialPackage | |
--desc <string> Add 'Descript' user comment to the MaterialPackage | |
--tag <name> <value> Add <name> user comment to the MaterialPackage. Option can be used multiple times | |
--locator <position> <comment> <color> | |
Add locator at <position> with <comment> and <color> | |
<position> format is o?hh:mm:sscff, where the optional 'o' indicates it is an offset | |
--mp-uid <umid> Set the Material Package UID. Autogenerated by default | |
--mp-created <tstamp> Set the Material Package creation date. Default is 'now' | |
--psp-uid <umid> Set the tape/import Source Package UID | |
tape: autogenerated by default | |
import: single input Material Package UID or autogenerated by default | |
--psp-created <tstamp> Set the tape/import Source Package creation date. Default is 'now' | |
--ess-marks Convert XDCAM Essence Marks to locators | |
--allow-no-avci-head Allow inputs with no AVCI header (512 bytes, sequence and picture parameter sets) | |
--avid-gf Use the Avid growing file flavour | |
--avid-gf-dur <dur> Set the duration which should be shown whilst the file is growing | |
The default value is the output duration | |
--ignore-d10-aes3-flags Ignore D10 AES3 audio validity flags and assume they are all valid | |
This workarounds an issue with Avid transfer manager which sets channel flags 4 to 8 to invalid | |
op1a/avid: | |
--force-no-avci-head Strip AVCI header (512 bytes, sequence and picture parameter sets) if present | |
wave: | |
--orig <name> Set originator in the Wave bext chunk. Default 'bmx' | |
as02/op1a/as11op1a: | |
--use-avc-subdesc Use the AVC sub-descriptor rather than the MPEG video descriptor for AVC-Intra tracks | |
op1a/as11op1a/rdd9: | |
--audio-layout <label> Set the Wave essence descriptor channel assignment label which identifies the audio layout mode in operation | |
The <label> is one of the following: | |
* a SMPTE UL, formatted as a 'urn:smpte:ul:...', | |
* 'as11-mode-0', which corresponds to urn:smpte:ul:060e2b34.04010101.0d010801.02010000, | |
* 'as11-mode-1', which corresponds to urn:smpte:ul:060e2b34.04010101.0d010801.02020000, | |
* 'as11-mode-2', which corresponds to urn:smpte:ul:060e2b34.04010101.0d010801.02030000 | |
--track-mca-labels <scheme> <file> Insert audio labels defined in <file> using the symbol <scheme> | |
The available <scheme>s are: 'as11' | |
Input options: | |
--disable-tracks <tracks> A comma separated list of track indexes and/or ranges to disable. | |
A track is identified by the index reported by mxf2raw | |
A range of track indexes is specified as '<first>-<last>', e.g. 0-3 | |
--disable-audio Disable audio tracks | |
--disable-video Disable video tracks | |
--disable-data Disable data tracks | |
Notes: | |
- <umid> format is 64 hexadecimal characters and any '.' and '-' characters are ignored | |
- <uuid> format is 32 hexadecimal characters and any '.' and '-' characters are ignored | |
- <tstamp> format is YYYY-MM-DDThh:mm:ss:qm where qm is in units of 1/250th second | |
The track mapping <expr> format is one of the following: | |
'mono' : each input audio channel is mapped to a single-channel output track | |
'stereo' : input audio channels are paired to stereo-channel output tracks | |
A silence channel is added to the last output track if the channel count is odd | |
'singlemca': all input audio channels are mapped to a single multi-channel output track | |
<pattern> : a pattern defining how input channels map to output track channels - see below | |
The track mapping <pattern> specifies how input audio channels are mapped to output track channels | |
A <pattern> consists of a list of <group>s separated by a ';'. | |
A <group> starts with an optional 'm', followed by a list of <element> separated by a ','. | |
An 'm' indicates that each channel in the <group> is mapped to separate single-channel output track. | |
If an 'm' is not present then the channels are mapped to a single output track. | |
A <element> is either a <channel>, <range>, <silence> or <remainder>. | |
A <channel> is an input channel number starting from 0. | |
The input channel number is the number derived from the input track order reported by mxf2raw for the | |
input files in the same order and including any --disable input options. Each channel in a track | |
contributes 1 to the overall channel number. | |
A <range> is 2 <channel>s separated by a '-' and includes all channels starting with the first number | |
and ending with the last number. | |
A <silence> is 's' followed by a <count> and results in <count> silence channels added to the output track. | |
A <remainder> is 'x', and results in all remaining channels being added to the output track. | |
Here are some <pattern> examples: | |
'mx' : equivalent to 'mono' | |
'0,1;x' : the first 2 channels mapped to a stereo output track and all remaining channels mapped | |
to a single multi-channel track | |
'2-7;0,1': 6 channel output track followed by a 2 channel output track | |
'0,1,s2' : 2 input channels plus 2 silence channels mapped to a single output track |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment