Alex Mogurenko

Search
Skip to content

Monthly Archives: September 2020

Metadata, MOV, MXF, Prores

AMCDX Video Patcher V0.6.0

September 14, 2020 alex@alexmogurenko.com 1 Comment

Version 0.6.0 Released:
1) VC3 support (works only VC3 to VC3 profiles should be identical)
2) Added command-line version
3) File To File improved performance on Windows
4) Blur functionality was disabled

Windows Installer
Mac OS Installer
Linux Build available upon request

AMCDX Video PatcherMOVMOV Metadata EditmxfProResProRes Video PatcherVideo Patcher
Metadata, MOV, MXF, Prores

AMCDX Video Patcher CLI

September 11, 2020 alex@alexmogurenko.com 6 Comments

Starting v0.6.0 you can run AMCDX Video Patcher without UI, in other words, you can run it as a command-line app. AMCDX Video Patcher accept as a parameter JSON (it could be JSON string or path to JSON file) for example:
AMCDXVideoPathcer /Users/test/test.json
or
AMCDXVideoPathcer "{ "processor": "f2f", "params": {...}}"

there are 2 fields: “processor” and “params”
a) processor defines what processor do you want to run. The value should be a String and should have one of 3 values:
1) “f2f” – run File To File processor
2) “frame” – run Frame Editor
3) “mov_meta” – run MOV/MP4 Metadata Editor
b) params define processor parameters. The value should be a JSON object each processor has a different structure.

f2f params

{
    "src_file": String,
    "dst_file": String,
    "src_in_frame": Integer,
    "dst_in_frame": Integer,
    "duration": Integer,
    "src_rect": {
        "x": Integer,
        "y": Integer,
        "width": Integer,
        "height": Integer 
    },
    "dst_rect": {
        "x": Integer,
        "y": Integer,
        "width": Integer,
        "height": Integer
    }
}
src_filepath to the source file (String)
dst_filepath to the target file (String)
src_in_frameSource file IN Point (Integer, frame number)
dst_in_frameTarget file IN Point (Integer, frame number)
durationNumber of frames to insert from the Source to the Target file (Integer)
src_rectA rectangle of the Source file frame that should be inserted to the Target file frame (*), (**)
dst_rectRectangle of Target file frame where should be inserted rectangle from the Source file (*), (**)

(*) rect fields are optional if these fields are not set – the full-frame will be processed
(**) rect fields work only for ProRes codec, in VC3/AVCI/XAVC case these properties will be ignored

Frame Editor params

{
    "video_file": String,
    "png_path": String,
    "in_point": Integer,
    "duration": Integer,
    "mode": String,
    "rect": {
        "x": Integer,
        "y": Integer,
        "width": Integer,
        "height": Integer, 
    }
}
video_filepath to the source video file (String)
png_pathpath to png file to apply or a folder where to save PNGs (String)
in_pointVideo file IN Point (Integer, frame number)
durationNumber of frames to modify with PNG image or Number of frames to save to png (Integer)
modeCan be one of 2 values “to_png” or “from_png”(String)
to_png means we save selected rectangle to PNG files to the folder set by “png_path”
from_png means we modify the selected rectangle by PNG files set by “png_path”
rectA rectangle of the Video file that should be modified or saved to PNG
Frame Editor works only for ProRes essence

MOV/MP4 Metadata Editor Params

{
    "video_file": String,
    "headers_to_the_end": Boolean,
    "timecode": {
        "in_file": Boolean,
        "tc": String,
        "drop_flag": Boolean,
        "reel": {
            "in_file": Boolean,
            "text": String
        },
    },
    "nclc": {
        "in_file": Boolean,
        "primaries": Integer,
        "transfer": Integer,
        "matrix": Integer
    },
    "gama": {
        "in_file": Boolean,
        "gamma": Float
    }
    "pasp": {
        "in_file": Boolean,
        "h_spacing": Integer,
        "v_spacing": Integer
    }
    "fiel": {
        "in_file": Boolean,
        "order": Integer
    }
    "mdcv": {
        "in_file": Boolean,
        "preset": Integer,
        "max_lum": Float,
        "min_lum": Float
    }
    "clli": {
        "in_file": Boolean,
        "max_cll": Integer,
        "max_fall": Integer
    }
}

*All fields are optional
*“in_file” is a Boolean field if it set to false it means Atom will be removed and other fields will be ignored. if “in_file” set to true it means we modify existing atom or add and modify newly added atom

headers_to_the_endDefines if we should move headers to the end of the file or leave it as it (Boolean, Optional)
timecodein_file: if set to true Timecode track will be added (Boolean, Optional)
tc: timecode in format “hh:mm:ss:frame” (String, Optional)
drop_flag: set DF/NDF (Boolean, Optional)

reel: {
in_file: if set to false atom will be deleted otherwise added or edited existing (Boolean, Optional)
text: Reel name (String, Optional)
}
nclcin_file: if set to false atom will be deleted otherwise added or edited existing (Boolean, Optional)
primaries: Color Primaries (Integer, Optional)
transfer: Transfer Function (Integer, Optional)
matrix: Color Matrix (Integer, Optional)
gamain_file: if set to false atom will be deleted otherwise added or edited existing (Boolean, Optional)
gamma: Gamma value (Float, Optional)
paspin_file: if set to false atom will be deleted otherwise added or edited existing (Boolean, Optional)
h_spacing: Pixel width (Integer, Optional)
v_spacing: Pixel height (Integer, Optional)
fielin_file: if set to false atom will be deleted otherwise added or edited existing (Boolean, Optional)
order: Field Order (Integer, Optional)
mdcvin_file: if set to false atom will be deleted otherwise added or edited existing (Boolean, Optional)
preset: MDCV Presets (Integer, Optional)
max_lum: Max display mastering luminance (Float, Optional)
min_lum: Min display mastering luminance (Float, Optional)
clliin_file: if set to false atom will be deleted otherwise added or edited existing (Boolean, Optional)
max_cll: Max content light level (Integer, Optional)
max_fall: Max frame average light level (Integer, Optional)

Color Primaries

0Unknown
1ITU-R BT.709
2Unspecified
3Reserved
4ITU-R BT.470M
5ITU-R BT.601 625
6ITU-R BT.601 525
7SMPTE 240M
8FILM
9ITU-R BT.2020
10SMPTE ST 428-1
11DCI P3
12P3 D65

Transfer Function

0Unknown
1ITU-R BT.709
2Unspecified
3Reserved
4Gamma 2.2
5Gamma 2.8
6SMPTE 170M
7SMPTE 240M
8Linear
9Logarithmic (100:1 range)
10Logarithmic (316:1 range)
11IEC 61966-2-4
12ITU-R BT.1361 (Extended Colour Gamut)
13IEC 61966-2-1
14ITU-R BT.2020 10 bit
15ITU-R BT.2020 12 bit
16SMPTE ST 2084 (PQ)
17SMPTE ST 428-1
18ARIB STD-B67 (Hybrid Log Gamma)

Color Matrix

0Unknown
1ITU-R BT.709
2Unspecified
3Reserved
4FCC
5BT470BG
6ITU-R BT.601
7SMPTE 240M
8YCOCG
9ITU-R BT.2020 Non-constant Luminance
10ITU-R BT.2020 Constant Luminance

Field Order

0Progressive
1Top Field stored first, Top Field displayed first
2Bottom Field stored first, Bottom Field displayed first
3Top Field stored first, Bottom Field displayed first
4Bottom Field stored first, Top Field displayed first

MDCV Presets

0REC 709
1REC 601 – 625
2REC 601 – 525
3BT 2020
4DCI P3
5P3 D65

Samples:
File To File
Frame To PNG
Frame From PNG
Mov Metadata (Remove Gama, Edit nclc)
Mov Metadata (Edit Gama)

Metadata editMOVMOV Metadata EditProResProRes ToolsProRes Video Patcher

personal blog

Recent Posts

  • AMCDX VIDEO PATCHER V0.6.7
  • AMCDX Video Patcher CLI
  • AMCDX Video Patcher V0.6.5
  • Cuda optimized ProRes decoder V0.2b
  • Cuda optimized ProRes decoder

Recent Comments

  • David Heitzmann on AMCDX VIDEO PATCHER V0.6.7
  • Chemi Ferreiro on AMCDX VIDEO PATCHER V0.6.7
  • Janos on AMCDX VIDEO PATCHER V0.6.7
  • alex@alexmogurenko.com on AMCDX VIDEO PATCHER V0.6.7
  • alex@alexmogurenko.com on AMCDX VIDEO PATCHER V0.6.7

Archives

  • January 2021
  • December 2020
  • November 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • December 2019
  • November 2019
  • August 2019
  • May 2019
  • February 2019
  • January 2018
  • November 2017
  • May 2017
  • October 2015
  • September 2015

Categories

  • Closed Captions
  • Cuda
  • ffmpeg
  • Metadata
  • MOV
  • MXF
  • Prores
  • Uncategorized

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
Proudly powered by WordPress