{ "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.gif", "ext": "gif", "inputs": [ "v" ], "outputs": [], "nodeType": "output" }, "nodeType": "output", "position": { "x": 438, "y": 0 }, "positionAbsolute": { "x": 438, "y": 0 }, "width": 90, "height": 54, "selected": false }, { "id": "e8c40a7d-ed53-49db-90d6-ffc953761550", "type": "ffmpeg", "data": { "id": 178, "meta": "..C", "name": "crop", "type": "V->V", "description": "Crop the input video.", "params": [ { "name": "out_w", "type": "string", "desc": "set the width crop area expression (default \"iw\")", "min": null, "max": null, "default": "iw", "value": "iw/2" }, { "name": "w", "type": "string", "desc": "set the width crop area expression (default \"iw\")", "min": null, "max": null, "default": "iw", "value": "iw" }, { "name": "out_h", "type": "string", "desc": "set the height crop area expression (default \"ih\")", "min": null, "max": null, "default": "ih", "value": "ih" }, { "name": "h", "type": "string", "desc": "set the height crop area expression (default \"ih\")", "min": null, "max": null, "default": "ih", "value": "ih" }, { "name": "x", "type": "string", "desc": "set the x crop area expression (default \"(in_w-out_w)/2\")", "min": null, "max": null, "default": "(in_w-out_w", "value": "(in_w-out_w" }, { "name": "y", "type": "string", "desc": "set the y crop area expression (default \"(in_h-out_h)/2\")", "min": null, "max": null, "default": "(in_h-out_h", "value": "(in_h-out_h" }, { "name": "keep_aspect", "type": "boolean", "desc": "keep aspect ratio (default false)", "min": null, "max": null, "default": "false", "value": "false" }, { "name": "exact", "type": "boolean", "desc": "do exact cropping (default false)", "min": null, "max": null, "default": "false", "value": "false" } ], "nodeType": "filter", "inputs": [ "v" ], "outputs": [ "v" ] }, "nodeType": "filter", "position": { "x": 159, "y": -50 }, "positionAbsolute": { "x": 159, "y": -50 }, "width": 59, "height": 50 }, { "id": "50168839-ce90-4f5b-825f-2043bea00b1b", "type": "ffmpeg", "data": { "id": 391, "meta": "...", "name": "trim", "type": "V->V", "description": "Pick one continuous section from the input, drop the rest.", "params": [ { "name": "start", "type": "duration", "desc": "Timestamp of the first frame that should be passed (default INT64_MAX)", "min": null, "max": null, "default": "INT64_MAX", "value": "1.7" }, { "name": "starti", "type": "duration", "desc": "Timestamp of the first frame that should be passed (default INT64_MAX)", "min": null, "max": null, "default": "INT64_MAX", "value": "INT64_MAX" }, { "name": "end", "type": "duration", "desc": "Timestamp of the first frame that should be dropped again (default INT64_MAX)", "min": null, "max": null, "default": "INT64_MAX", "value": "INT64_MAX" }, { "name": "endi", "type": "duration", "desc": "Timestamp of the first frame that should be dropped again (default INT64_MAX)", "min": null, "max": null, "default": "INT64_MAX", "value": "INT64_MAX" }, { "name": "start_pts", "type": "int64", "desc": "Timestamp of the first frame that should be passed (from I64_MIN to I64_MAX) (default I64_MIN)", "min": -2000, "max": 2000, "default": -2000, "value": -2000 }, { "name": "end_pts", "type": "int64", "desc": "Timestamp of the first frame that should be dropped again (from I64_MIN to I64_MAX) (default I64_MIN)", "min": -2000, "max": 2000, "default": -2000, "value": -2000 }, { "name": "duration", "type": "duration", "desc": "Maximum duration of the output (default 0)", "min": null, "max": null, "default": "0", "value": "0.5" }, { "name": "durationi", "type": "duration", "desc": "Maximum duration of the output (default 0)", "min": null, "max": null, "default": "0", "value": "0" }, { "name": "start_frame", "type": "int64", "desc": "Number of the first frame that should be passed to the output (from -1 to I64_MAX) (default -1)", "min": -1, "max": 2000, "default": -1, "value": -1 }, { "name": "end_frame", "type": "int64", "desc": "Number of the first frame that should be dropped again (from 0 to I64_MAX) (default I64_MAX)", "min": 0, "max": 2000, "default": 2000, "value": 2000 } ], "nodeType": "filter", "inputs": [ "v" ], "outputs": [ "v" ] }, "nodeType": "filter", "position": { "x": 268, "y": -50 }, "positionAbsolute": { "x": 268, "y": -50 }, "width": 59, "height": 50 } ], "edges": [ { "id": "551f3ce9-cc4c-4deb-a2d0-5354ce107967", "type": "default", "source": "9406a455-7e77-49bb-9cd8-381b54d47d31", "target": "e8c40a7d-ed53-49db-90d6-ffc953761550", "sourceHandle": "v_0", "targetHandle": "v_0" }, { "id": "fb179506-e951-4284-816d-8a738c84551c", "type": "default", "source": "e8c40a7d-ed53-49db-90d6-ffc953761550", "target": "50168839-ce90-4f5b-825f-2043bea00b1b", "sourceHandle": "v_0", "targetHandle": "v_0" }, { "id": "465f9cbe-3352-40d0-9af5-a545e228a26b", "type": "default", "source": "50168839-ce90-4f5b-825f-2043bea00b1b", "target": "eb32733d-28ad-4a38-9db7-50a98db5f309", "sourceHandle": "v_0", "targetHandle": "v_0" } ] }