Skip to content

Instantly share code, notes, and snippets.

@sbrisko
Forked from anonymous/form.json
Created June 2, 2017 21:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sbrisko/f6d9c11cb53d467d6e55da4f8c6bb456 to your computer and use it in GitHub Desktop.
Save sbrisko/f6d9c11cb53d467d6e55da4f8c6bb456 to your computer and use it in GitHub Desktop.
A saved configuration for a schema form example, http://textalk.github.io/angular-schema-form/examples/bootstrap-example.html
[
{
"type": "fieldset",
"title": "Resolution (pixels)",
"htmlClass": "form-inline",
"items": [
{"key": "width","notitle": true, "placeholder": "w", "description": ""},
{"key": "height","notitle": true, "placeholder": "h", "description": ""}
]
},
{"key": "codec", "description": "", "title": "Video Codec"},
{
"key": "h264_settings", "condition": "model.codec == 'h.264'",
"items": [
{"key": "h264_settings.rate_control_mode", "title": "Rate Control Mode", "description": ""},
{"type": "section", "htmlClass": "form-inline","items":
[
{"key": "h264_settings.bitrate", "title": "Bitrate","description":""}
]
},
{
"type": "section",
"htmlClass": "form-inline",
"items": [
{
"key": "h264_settings.framerate_follow_source",
"title": "Framerate",
"description":"",
"type": "select",
"titleMap": [
{"value": true, "name": "Source"},
{"value": false, "name": "Manual"}
]
},
{
"key": "h264_settings.framerate_numerator",
"notitle":true,
"description":"",
"type": "integer",
"placeholder": "numerator"
},
{
"key": "h264_settings.framerate_denominator",
"notitle":true,
"description":"",
"type": "integer",
"placeholder": "denominator"
}
]
}
]
}
]
{
"afd_signaling": "None",
"anti_alias": true,
"drop_frame_timecode": true,
"encoder_type": "cpu",
"force_cpu_encode": false,
"insert_color_metadata": false,
"respond_to_afd": "None",
"sharpness": 50,
"stretch_to_output": false,
"timecode_passthrough": false,
"vbi_passthrough": false,
"codec": "h.264",
"h264_settings": {
"adaptive_quantization": "medium",
"bitrate": 4999996,
"framerate_follow_source": true,
"gop_markers": false,
"gop_mode": "Fixed",
"gop_num_b_frames": 2,
"gop_size": 99,
"gop_size_units": "frames",
"interlace_mode": "progressive",
"level": "Auto",
"look_ahead_rate_control": "medium",
"num_ref_frames": 1,
"par_follow_source": true,
"profile": "Main/Main",
"rate_control_mode": "CBR",
"telecine": "None",
"framerate_numerator": 0,
"denominator": "33.3"
}
}
{
"description": "Video settings for this stream.",
"title": "VideoDescription",
"type": "object",
"properties": {
"afd_signaling": {
"description": "Indicates that AFD values will be written into the output stream. In the case where respond_to_afd is Auto, the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). Only valid for H.264 and MPEG2 outputs.",
"enum": [
"Auto",
"Fixed",
"None"
],
"type": "string",
"title": "afd_signaling",
"default": "None"
},
"anti_alias": {
"description": "Use the anti-aliasing scaler. This should be used with large downscaling ratios.",
"type": "boolean",
"title": "anti_alias",
"default": true
},
"codec": {
"description": "Video codec.",
"type": "string",
"enum": [
"h.264",
"h.265"
],
"title": "codec"
},
"drop_frame_timecode": {
"description": "Instructs timecode insertion to use drop-frame timecodes for 29.97 fps outputs. If it is not possible to use drop-frame timecodes, the system will fall back on non-drop-frame and note the discrepancy in the logs.",
"type": "boolean",
"title": "drop_frame_timecode",
"default": true
},
"encoder_type": {
"description": "Specifies whether or not this encoder is GPU-enabled.",
"enum": [
"cpu",
"gpu"
],
"type": "string",
"title": "encoder_type",
"default": "cpu"
},
"fixed_afd": {
"description": "Four bit AFD value to write on all frames of video in the output stream. Only valid when afd_signaling is set to 'Fixed'.",
"type": "integer",
"minimum": 0,
"maximum": 15,
"format": "int32",
"title": "fixed_afd"
},
"force_cpu_encode": {
"description": "Setting this control instructs the system to use a CPU encoder for this particular stream.",
"type": "boolean",
"title": "force_cpu_encode",
"default": false
},
"insert_color_metadata": {
"description": "Includes colorspace metadata in the output.",
"type": "boolean",
"title": "insert_color_metadata",
"default": false
},
"height": {
"description": "Output video height (in pixels). Leave blank to use source video height.",
"type": "integer",
"format": "int32",
"title": "height"
},
"name": {
"description": "The name of this VideoDescription. Outputs will use this name to uniquely identify this Description.\nDescription names should be unique within this Live Event.",
"type": "string",
"title": "name"
},
"respond_to_afd": {
"description": "Indicates how to respond to the AFD values in the input stream. Respond causes input video to be clipped, depending on AFD value, input display aspect ratio and output display aspect ratio.",
"enum": [
"None",
"Passthrough",
"Respond"
],
"type": "string",
"title": "respond_to_afd",
"default": "None"
},
"sharpness": {
"description": "Changes the width of the anti-alias filter kernel used for scaling. Only applies if scaling is being performed and anti_alias is set to true. 0 is the softest setting, 100 the sharpest, and 50 recommended for most content.",
"type": "integer",
"minimum": 0,
"maximum": 100,
"format": "int32",
"title": "sharpness",
"default": 50
},
"stretch_to_output": {
"description": "Automatically configures the output position \"Rectangle\":#rectangle to stretch the video to the specified output resolution. This option will override any position value.",
"type": "boolean",
"title": "stretch_to_output",
"default": false
},
"timecode_passthrough": {
"description": "A value of ‘true’ passes through the selected timecode source value (in Timecode Config). This is only recommended when you are certain that input framerate is identical to output framerate. ’False’ removes the timecode from the output.",
"type": "boolean",
"title": "timecode_passthrough",
"default": false
},
"vbi_passthrough": {
"description": "Passes user data fields from input source to output source. This includes 608 & 708 closed caption data. Framerate must be set to Follow Source or must be 50 fps or greater.",
"type": "boolean",
"title": "vbi_passthrough",
"default": false
},
"width": {
"description": "Output video width (in pixels). Leave blank to use source video width. Display aspect ratio is always preserved by letterboxing or pillarboxing when necessary.",
"type": "integer",
"format": "int32",
"title": "width"
},
"h264_settings": {
"title": "H264Settings",
"type": "object",
"properties": {
"adaptive_quantization": {
"type": "string",
"default": "medium",
"description": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality.",
"enum": [
"off",
"low",
"medium",
"high",
"higher",
"max"
]
},
"bitrate": {
"type": "integer",
"default": 5000000,
"description": "Average bitrate in bits/second. Required for VBR, CBR, and ABR. Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000.",
"format": "int32",
"fixedFacets": {
"format": "int32"
}
},
"buf_size": {
"type": "integer",
"description": "Size of buffer (HRD buffer model). Five megabits can be entered as 5000000 or 5m. Five hundred kilobits can be entered as 500000 or 0.5m.",
"format": "int32",
"fixedFacets": {
"format": "int32"
}
},
"framerate_denominator": {
"type": "integer",
"description": "Framerate denominator.",
"format": "int32",
"fixedFacets": {
"format": "int32"
}
},
"framerate_numerator": {
"type": "integer",
"description": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.",
"format": "int32",
"fixedFacets": {
"format": "int32"
}
},
"framerate_follow_source": {
"type": "boolean",
"default": true,
"description": "No framerate conversion from source."
},
"gop_markers": {
"type": "boolean",
"default": false,
"description": "Inserts a Recovery Point SEI message for open GOPs, or starts a new sequence for closed GOPs."
},
"gop_mode": {
"type": "string",
"default": "Fixed",
"description": "Fixed uses the specified gop_size, Follow matches the I-frame interval of source. Follow is not recommended for intra-only sources",
"enum": [
"Fixed",
"Follow"
]
},
"gop_num_b_frames": {
"type": "integer",
"default": 2,
"description": "Number of B-frames between reference frames.",
"format": "int32",
"fixedFacets": {
"format": "int32"
}
},
"gop_size": {
"type": "number",
"default": 99,
"description": "GOP Length (keyframe interval) in frames or seconds. Must be greater than zero.",
"format": "double",
"fixedFacets": {
"format": "double"
}
},
"gop_size_units": {
"type": "string",
"default": "frames",
"description": "Indicates if the GOP Size is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time.",
"enum": [
"frames",
"seconds"
]
},
"interlace_mode": {
"type": "string",
"default": "progressive",
"description": "The differences between the Top, Bottom, and Follow values are: - Top Field First or Bottom Field First produce interlaced with the entire output having the same field polarity (top or bottom first). - Follow (Default Top) and Follow (Default Bottom) use the same field polarity as the source. Therefore for the Follow options: - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of 'top field first' and 'bottom field first'. - If the source is progressive, the output will be interlaced with 'top field first' or 'bottom field first' polarity, depending on which of the Follow options you chose.",
"enum": [
"progressive",
"top_field",
"bottom_field",
"follow_top_field",
"follow_bottom_field"
]
},
"level": {
"type": "string",
"default": "Auto",
"description": "H.265 Level.",
"enum": [
"Auto",
"'1'",
"'1.1'",
"'2'",
"'2.1'",
"'3'",
"'3.1'",
"'4'",
"'4.1'",
"'5'",
"'5.1'"
]
},
"look_ahead_rate_control": {
"type": "string",
"default": "medium",
"description": "Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content.",
"enum": [
"low",
"medium",
"high"
]
},
"min_buf_occ": {
"type": "integer",
"description": "Minimum occupancy of VBV / HRD buffer in bits.",
"format": "int32",
"fixedFacets": {
"format": "int32"
}
},
"num_ref_frames": {
"type": "integer",
"default": 1,
"description": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding.",
"format": "int32",
"fixedFacets": {
"format": "int32"
}
},
"par_denominator": {
"type": "integer",
"description": "Pixel Aspect Ratio denominator.",
"format": "int32",
"fixedFacets": {
"format": "int32"
}
},
"par_follow_source": {
"type": "boolean",
"default": true,
"description": "No pixel aspect ratio conversion from source."
},
"par_numerator": {
"type": "integer",
"description": "Pixel Aspect Ratio numerator.",
"format": "int32",
"fixedFacets": {
"format": "int32"
}
},
"profile": {
"type": "string",
"default": "Main/Main",
"description": "Represents the Profile and Tier, per the HEVC (H.265) specification. Selections are grouped as [Profile] / [Tier], so \"Main/High\" represents Main Profile with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License.",
"enum": [
"Main/Main",
"Main/High",
"Main10/Main",
"Main10/High",
"Main 4:2:2 8-bit/Main",
"Main 4:2:2 8-bit/High",
"Main 4:2:2 10-bit/Main",
"Main 4:2:2 10-bit/High"
]
},
"rate_control_mode": {
"type": "string",
"default": "CBR",
"description": "Rate control mode. CQ uses constant quantizer (qp), ABR (average bitrate) does not write HRD parameters. Statmux allows for statistical multiplexing on outputs with an MPTS Membership.",
"enum": [
"VBR",
"CBR",
"CQ",
"ABR",
"Statmux"
]
},
"telecine": {
"type": "string",
"default": "None",
"description": "This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970. This field works with the Streams > Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced Mode field (interlace_mode) to identify the scan type for the output: Progressive, Interlaced, Hard Telecine or Soft Telecine. See \"Scan Types\":/help/parameters/live_event#elemental-live-scan_types for information.\n\n- Hard: produces 29.97i output from 23.976 input.\n\n- Soft: produces 23.976; the player converts this output to 29.97i.\n",
"enum": [
"None",
"Soft",
"Hard"
]
}
}
}
},
"additionalProperties": false,
"required": [
"name"
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment