{ "nodes": [ { "id": "9406a455-7e77-49bb-9cd8-381b54d47d31", "type": "ffmpeg", "data": { "name": "punch.mp4", "url": "/punch.mp4", "ext": "mp4", "outputs": [ "v", "a" ], "inputs": [], "nodeType": "input" }, "nodeType": "input", "position": { "x": 0, "y": 0 }, "positionAbsolute": { "x": 0, "y": 0 }, "width": 109, "height": 54 }, { "id": "eb32733d-28ad-4a38-9db7-50a98db5f309", "type": "ffmpeg", "data": { "name": "out.mp4", "ext": "mp4", "inputs": [ "v", "a" ], "outputs": [], "nodeType": "output" }, "nodeType": "output", "position": { "x": 439, "y": 0 }, "positionAbsolute": { "x": 439, "y": 0 }, "width": 90, "height": 54, "selected": false, "dragging": false }, { "id": "1623b321-0d2b-42a1-99af-bad37a146b07", "type": "ffmpeg", "data": { "id": 305, "meta": "TSC", "name": "overlay", "type": "VV->V", "description": "Overlay a video source on top of the input.", "params": [ { "name": "x", "type": "string", "desc": "set the x expression (default \"0\")", "min": null, "max": null, "default": "0", "value": "290" }, { "name": "y", "type": "string", "desc": "set the y expression (default \"0\")", "min": null, "max": null, "default": "0", "value": "50" }, { "name": "eof_action", "type": "int", "desc": "Action to take when encountering EOF from secondary input (from 0 to 2) (default repeat)", "min": 0, "max": 2, "default": "repeat", "options": [ { "value": "repeat", "desc": "Repeat the previous frame." }, { "value": "endall", "desc": "End both streams." }, { "value": "pass", "desc": "Pass through the main input." } ], "value": "repeat" }, { "name": "eval", "type": "int", "desc": "specify when to evaluate expressions (from 0 to 1) (default frame)", "min": 0, "max": 1, "default": "frame", "options": [ { "value": "init", "desc": "eval expressions once during initialization" }, { "value": "frame", "desc": "eval expressions per-frame" } ], "value": "frame" }, { "name": "shortest", "type": "boolean", "desc": "force termination when the shortest input terminates (default false)", "min": null, "max": null, "default": "false", "value": "false" }, { "name": "format", "type": "int", "desc": "set output format (from 0 to 7) (default yuv420)", "min": 0, "max": 7, "default": "yuv420", "options": [ { "value": "yuv420", "desc": "" }, { "value": "yuv420p10", "desc": "" }, { "value": "yuv422", "desc": "" }, { "value": "yuv422p10", "desc": "" }, { "value": "yuv444", "desc": "" }, { "value": "rgb", "desc": "" }, { "value": "gbrp", "desc": "" }, { "value": "auto", "desc": "" } ], "value": "yuv420" }, { "name": "repeatlast", "type": "boolean", "desc": "repeat overlay of the last overlay frame (default true)", "min": null, "max": null, "default": "true", "value": "true" }, { "name": "alpha", "type": "int", "desc": "alpha format (from 0 to 1) (default straight)", "min": 0, "max": 1, "default": "straight", "options": [ { "value": "straight", "desc": "" }, { "value": "premultiplied", "desc": "" } ], "value": "straight" } ], "nodeType": "filter", "inputs": [ "v", "v" ], "outputs": [ "v" ] }, "nodeType": "filter", "position": { "x": 290, "y": 70 }, "positionAbsolute": { "x": 290, "y": 70 }, "width": 60, "height": 50, "dragging": false }, { "id": "a0798490-6c5b-4a14-82a3-a5e7da6d223b", "type": "ffmpeg", "data": { "name": "shoe.mp4", "url": "/shoe.mp4", "ext": "mp4", "outputs": [ "v", "a" ], "inputs": [], "nodeType": "input" }, "nodeType": "input", "position": { "x": 0, "y": 100 }, "positionAbsolute": { "x": 0, "y": 100 }, "width": 109, "height": 54 }, { "id": "a6796a9d-7fb6-494c-9545-bde5d4628eea", "type": "ffmpeg", "data": { "id": 338, "meta": "..C", "name": "scale", "type": "V->V", "description": "Scale the input video size and/or convert the image format.", "params": [ { "name": "w", "type": "string", "desc": "Output video width", "min": null, "max": null, "default": null, "value": "120" }, { "name": "width", "type": "string", "desc": "Output video width", "min": null, "max": null, "default": null, "value": null }, { "name": "h", "type": "string", "desc": "Output video height", "min": null, "max": null, "default": null, "value": "120" }, { "name": "height", "type": "string", "desc": "Output video height", "min": null, "max": null, "default": null, "value": null }, { "name": "flags", "type": "string", "desc": "Flags to pass to libswscale (default \"\")", "min": null, "max": null, "default": "", "value": "" }, { "name": "interl", "type": "boolean", "desc": "set interlacing (default false)", "min": null, "max": null, "default": "false", "value": "false" }, { "name": "in_color_matrix", "type": "string", "desc": "set input YCbCr type (default \"auto\")", "min": null, "max": null, "default": "auto", "options": [ { "value": "auto", "desc": "" }, { "value": "bt601", "desc": "" }, { "value": "bt470", "desc": "" }, { "value": "smpte170m", "desc": "" }, { "value": "bt709", "desc": "" }, { "value": "fcc", "desc": "" }, { "value": "smpte240m", "desc": "" }, { "value": "bt2020", "desc": "" } ], "value": "auto" }, { "name": "out_color_matrix", "type": "string", "desc": "set output YCbCr type", "min": null, "max": null, "default": null, "options": [ { "value": "auto", "desc": "" }, { "value": "bt601", "desc": "" }, { "value": "bt470", "desc": "" }, { "value": "smpte170m", "desc": "" }, { "value": "bt709", "desc": "" }, { "value": "fcc", "desc": "" }, { "value": "smpte240m", "desc": "" }, { "value": "bt2020", "desc": "" } ], "value": null }, { "name": "in_range", "type": "int", "desc": "set input color range (from 0 to 2) (default auto)", "min": 0, "max": 2, "default": "auto", "options": [ { "value": "auto", "desc": "" }, { "value": "unknown", "desc": "" }, { "value": "full", "desc": "" }, { "value": "limited", "desc": "" }, { "value": "jpeg", "desc": "" }, { "value": "mpeg", "desc": "" }, { "value": "tv", "desc": "" }, { "value": "pc", "desc": "" } ], "value": "auto" }, { "name": "out_range", "type": "int", "desc": "set output color range (from 0 to 2) (default auto)", "min": 0, "max": 2, "default": "auto", "options": [ { "value": "auto", "desc": "" }, { "value": "unknown", "desc": "" }, { "value": "full", "desc": "" }, { "value": "limited", "desc": "" }, { "value": "jpeg", "desc": "" }, { "value": "mpeg", "desc": "" }, { "value": "tv", "desc": "" }, { "value": "pc", "desc": "" } ], "value": "auto" }, { "name": "in_v_chr_pos", "type": "int", "desc": "input vertical chroma position in luma grid/256 (from -513 to 512) (default -513)", "min": -513, "max": 512, "default": -513, "value": -513 }, { "name": "in_h_chr_pos", "type": "int", "desc": "input horizontal chroma position in luma grid/256 (from -513 to 512) (default -513)", "min": -513, "max": 512, "default": -513, "value": -513 }, { "name": "out_v_chr_pos", "type": "int", "desc": "output vertical chroma position in luma grid/256 (from -513 to 512) (default -513)", "min": -513, "max": 512, "default": -513, "value": -513 }, { "name": "out_h_chr_pos", "type": "int", "desc": "output horizontal chroma position in luma grid/256 (from -513 to 512) (default -513)", "min": -513, "max": 512, "default": -513, "value": -513 }, { "name": "force_original_aspect_ratio", "type": "int", "desc": "decrease or increase w/h if necessary to keep the original AR (from 0 to 2) (default disable)", "min": 0, "max": 2, "default": "disable", "options": [ { "value": "disable", "desc": "" }, { "value": "decrease", "desc": "" }, { "value": "increase", "desc": "" } ], "value": "increase" }, { "name": "force_divisible_by", "type": "int", "desc": "enforce that the output resolution is divisible by a defined integer when force_original_aspect_ratio is used (from 1 to 256) (default 1)", "min": 1, "max": 256, "default": 1, "value": 1 }, { "name": "param0", "type": "double", "desc": "Scaler param 0 (from -DBL_MAX to DBL_MAX) (default DBL_MAX)", "min": -2000, "max": 2000, "default": 2000, "value": 2000 }, { "name": "param1", "type": "double", "desc": "Scaler param 1 (from -DBL_MAX to DBL_MAX) (default DBL_MAX)", "min": -2000, "max": 2000, "default": 2000, "value": 2000 }, { "name": "eval", "type": "int", "desc": "specify when to evaluate expressions (from 0 to 1) (default init)", "min": 0, "max": 1, "default": "init", "options": [ { "value": "init", "desc": "eval expressions once during initialization" }, { "value": "frame", "desc": "eval expressions during initialization and per-frame" } ], "value": "init" } ], "nodeType": "filter", "inputs": [ "v" ], "outputs": [ "v" ] }, "nodeType": "filter", "position": { "x": 180, "y": -10 }, "positionAbsolute": { "x": 180, "y": -10 }, "width": 59, "height": 50, "dragging": false } ], "edges": [ { "source": "9406a455-7e77-49bb-9cd8-381b54d47d31", "sourceHandle": "v_0", "target": "a6796a9d-7fb6-494c-9545-bde5d4628eea", "targetHandle": "v_0", "id": "xyflow__edge-9406a455-7e77-49bb-9cd8-381b54d47d31v_0-a6796a9d-7fb6-494c-9545-bde5d4628eeav_0" }, { "source": "a0798490-6c5b-4a14-82a3-a5e7da6d223b", "sourceHandle": "v_0", "target": "1623b321-0d2b-42a1-99af-bad37a146b07", "targetHandle": "v_1", "id": "xyflow__edge-a0798490-6c5b-4a14-82a3-a5e7da6d223bv_0-1623b321-0d2b-42a1-99af-bad37a146b07v_1" }, { "source": "a6796a9d-7fb6-494c-9545-bde5d4628eea", "sourceHandle": "v_0", "target": "1623b321-0d2b-42a1-99af-bad37a146b07", "targetHandle": "v_0", "id": "xyflow__edge-a6796a9d-7fb6-494c-9545-bde5d4628eeav_0-1623b321-0d2b-42a1-99af-bad37a146b07v_0" }, { "source": "1623b321-0d2b-42a1-99af-bad37a146b07", "sourceHandle": "v_0", "target": "eb32733d-28ad-4a38-9db7-50a98db5f309", "targetHandle": "v_0", "id": "xyflow__edge-1623b321-0d2b-42a1-99af-bad37a146b07v_0-eb32733d-28ad-4a38-9db7-50a98db5f309v_0" } ] }