378 lines
8.4 KiB
JSON
378 lines
8.4 KiB
JSON
{
|
||
"id": "4fbf6f31-0f7b-4465-8ec8-25df4862e076",
|
||
"revision": 0,
|
||
"last_node_id": 35,
|
||
"last_link_id": 44,
|
||
"nodes": [
|
||
{
|
||
"id": 31,
|
||
"type": "PrimitiveNode",
|
||
"pos": [
|
||
4672,
|
||
-928
|
||
],
|
||
"size": [
|
||
210,
|
||
82
|
||
],
|
||
"flags": {},
|
||
"order": 0,
|
||
"mode": 0,
|
||
"inputs": [],
|
||
"outputs": [
|
||
{
|
||
"name": "connect to widget input",
|
||
"type": "*",
|
||
"links": []
|
||
}
|
||
],
|
||
"properties": {
|
||
"Run widget replace on values": false,
|
||
"ue_properties": {
|
||
"widget_ue_connectable": {},
|
||
"version": "7.5.2",
|
||
"input_ue_unconnectable": {}
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"id": 1,
|
||
"type": "SharpFrameSelector",
|
||
"pos": [
|
||
4992,
|
||
-704
|
||
],
|
||
"size": [
|
||
288,
|
||
174
|
||
],
|
||
"flags": {},
|
||
"order": 4,
|
||
"mode": 0,
|
||
"inputs": [
|
||
{
|
||
"name": "images",
|
||
"type": "IMAGE",
|
||
"link": null
|
||
},
|
||
{
|
||
"name": "scores",
|
||
"type": "SHARPNESS_SCORES",
|
||
"link": 3
|
||
}
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "selected_images",
|
||
"type": "IMAGE",
|
||
"links": [
|
||
32
|
||
]
|
||
},
|
||
{
|
||
"name": "count",
|
||
"type": "INT",
|
||
"links": null
|
||
}
|
||
],
|
||
"properties": {
|
||
"aux_id": "ComfyUI-Sharp-Selector.git",
|
||
"ver": "f30f948c9fa8acf9b7fe09559f172d8a63468c8d",
|
||
"Node name for S&R": "SharpFrameSelector",
|
||
"ue_properties": {
|
||
"widget_ue_connectable": {},
|
||
"input_ue_unconnectable": {},
|
||
"version": "7.5.2"
|
||
}
|
||
},
|
||
"widgets_values": [
|
||
"best_n",
|
||
144,
|
||
24,
|
||
3,
|
||
0
|
||
]
|
||
},
|
||
{
|
||
"id": 32,
|
||
"type": "easy showAnything",
|
||
"pos": [
|
||
5344,
|
||
-1024
|
||
],
|
||
"size": [
|
||
448,
|
||
96
|
||
],
|
||
"flags": {},
|
||
"order": 6,
|
||
"mode": 0,
|
||
"inputs": [
|
||
{
|
||
"name": "anything",
|
||
"shape": 7,
|
||
"type": "*",
|
||
"link": 39
|
||
}
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "output",
|
||
"type": "*",
|
||
"links": null
|
||
}
|
||
],
|
||
"properties": {
|
||
"cnr_id": "comfyui-easy-use",
|
||
"ver": "5dfcbcf51d8a6efed947bc7bdd6797827fecab55",
|
||
"Node name for S&R": "easy showAnything",
|
||
"ue_properties": {
|
||
"widget_ue_connectable": {},
|
||
"input_ue_unconnectable": {},
|
||
"version": "7.5.2"
|
||
}
|
||
},
|
||
"widgets_values": [
|
||
"Batch 1: Skipped 3440 frames. Scanning range 3440 -> 4880."
|
||
]
|
||
},
|
||
{
|
||
"id": 5,
|
||
"type": "SharpnessAnalyzer",
|
||
"pos": [
|
||
4672,
|
||
-672
|
||
],
|
||
"size": [
|
||
185.9771484375,
|
||
26
|
||
],
|
||
"flags": {},
|
||
"order": 1,
|
||
"mode": 0,
|
||
"inputs": [
|
||
{
|
||
"name": "images",
|
||
"type": "IMAGE",
|
||
"link": null
|
||
}
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "scores",
|
||
"type": "SHARPNESS_SCORES",
|
||
"links": [
|
||
3,
|
||
21
|
||
]
|
||
}
|
||
],
|
||
"properties": {
|
||
"aux_id": "ComfyUI-Sharp-Selector.git",
|
||
"ver": "0df11447abb7f41bf7f12a2906aa868a5d2027b4",
|
||
"Node name for S&R": "SharpnessAnalyzer",
|
||
"ue_properties": {
|
||
"widget_ue_connectable": {},
|
||
"input_ue_unconnectable": {},
|
||
"version": "7.5.2"
|
||
}
|
||
},
|
||
"widgets_values": []
|
||
},
|
||
{
|
||
"id": 35,
|
||
"type": "FastAbsoluteSaver",
|
||
"pos": [
|
||
5856,
|
||
-1024
|
||
],
|
||
"size": [
|
||
306.3776153564453,
|
||
270
|
||
],
|
||
"flags": {},
|
||
"order": 5,
|
||
"mode": 0,
|
||
"inputs": [
|
||
{
|
||
"name": "images",
|
||
"type": "IMAGE",
|
||
"link": 43
|
||
},
|
||
{
|
||
"name": "scores_info",
|
||
"shape": 7,
|
||
"type": "STRING",
|
||
"link": 44
|
||
}
|
||
],
|
||
"outputs": [],
|
||
"properties": {
|
||
"aux_id": "ComfyUI-Sharp-Selector.git",
|
||
"ver": "162699a4a23219ac5ac75f398a17e67c3767da46",
|
||
"ue_properties": {
|
||
"widget_ue_connectable": {},
|
||
"input_ue_unconnectable": {}
|
||
},
|
||
"Node name for S&R": "FastAbsoluteSaver"
|
||
},
|
||
"widgets_values": [
|
||
"D:\\Datasets\\Sharp_Output",
|
||
"frame",
|
||
"png",
|
||
0,
|
||
false,
|
||
"sharpness_score",
|
||
true,
|
||
100,
|
||
4
|
||
]
|
||
},
|
||
{
|
||
"id": 29,
|
||
"type": "ParallelSharpnessLoader",
|
||
"pos": [
|
||
4992,
|
||
-1024
|
||
],
|
||
"size": [
|
||
320,
|
||
262
|
||
],
|
||
"flags": {},
|
||
"order": 2,
|
||
"mode": 0,
|
||
"inputs": [],
|
||
"outputs": [
|
||
{
|
||
"name": "images",
|
||
"type": "IMAGE",
|
||
"links": [
|
||
43
|
||
]
|
||
},
|
||
{
|
||
"name": "scores_info",
|
||
"type": "STRING",
|
||
"links": [
|
||
44
|
||
]
|
||
},
|
||
{
|
||
"name": "batch_int",
|
||
"type": "INT",
|
||
"links": null
|
||
},
|
||
{
|
||
"name": "batch_status",
|
||
"type": "STRING",
|
||
"links": [
|
||
39
|
||
]
|
||
}
|
||
],
|
||
"properties": {
|
||
"aux_id": "ComfyUI-Sharp-Selector.git",
|
||
"ver": "dab38a1fbf0077655fe568d500866fce6ecc857d",
|
||
"Node name for S&R": "ParallelSharpnessLoader",
|
||
"ue_properties": {
|
||
"widget_ue_connectable": {},
|
||
"input_ue_unconnectable": {},
|
||
"version": "7.5.2"
|
||
}
|
||
},
|
||
"widgets_values": [
|
||
"C:\\path\\to\\video.mp4",
|
||
0,
|
||
1440,
|
||
1,
|
||
30,
|
||
24,
|
||
2000
|
||
]
|
||
},
|
||
{
|
||
"id": 34,
|
||
"type": "Note",
|
||
"pos": [
|
||
4224,
|
||
-1120
|
||
],
|
||
"size": [
|
||
416,
|
||
736
|
||
],
|
||
"flags": {},
|
||
"order": 3,
|
||
"mode": 0,
|
||
"inputs": [],
|
||
"outputs": [],
|
||
"properties": {
|
||
"ue_properties": {
|
||
"widget_ue_connectable": {},
|
||
"version": "7.5.2",
|
||
"input_ue_unconnectable": {}
|
||
}
|
||
},
|
||
"widgets_values": [
|
||
"📝 Smart Dataset Extraction Workflow\n\n1. Parallel Video Loader (The Source)\n\n What it does: Scans your video file directly from the hard drive using multi-threading. It does not load the whole video into RAM.\n\n Batching: Uses the batch_index (Primitive Node) to \"page\" through the movie.\n\n Example: If scan_limit is 1440, Batch 0 scans frames 0-1440, Batch 1 scans 1440-2880, etc.\n\n Selection: It calculates sharpness (Laplacian Variance) and only decodes the \"Best N\" frames to send downstream.\n\n2. Fast Absolute Saver (The Destination)\n\n What it does: Saves images instantly to your SSD using parallel workers, bypassing the slow ComfyUI preview window.\n\n Smart Naming: Connect scores_info from the Loader to the Saver! This allows files to be named using the original video frame number (e.g., movie_frame_00450.png) rather than a random batch counter.\n\n Metadata: Embeds the sharpness score into the PNG/WebP metadata for future filtering.\n\n⚠️ Usage Tips:\n\n Automation: Set batch_index to \"Increment\" (on the Primitive Node) and enable \"Auto Queue\" in ComfyUI options to process the entire movie automatically.\n\n Monitoring: Watch the Console Window (black command prompt) for progress logs. The saver does not preview images in the UI to prevent lag.\n\n Safety: The saver uses absolute paths and overwrites files with the same name. Use a unique filename_prefix for each new video source."
|
||
],
|
||
"color": "#432",
|
||
"bgcolor": "#653"
|
||
}
|
||
],
|
||
"links": [
|
||
[
|
||
3,
|
||
5,
|
||
0,
|
||
1,
|
||
1,
|
||
"SHARPNESS_SCORES"
|
||
],
|
||
[
|
||
39,
|
||
29,
|
||
3,
|
||
32,
|
||
0,
|
||
"STRING"
|
||
],
|
||
[
|
||
43,
|
||
29,
|
||
0,
|
||
35,
|
||
0,
|
||
"IMAGE"
|
||
],
|
||
[
|
||
44,
|
||
29,
|
||
1,
|
||
35,
|
||
1,
|
||
"STRING"
|
||
]
|
||
],
|
||
"groups": [],
|
||
"config": {},
|
||
"extra": {
|
||
"workflowRendererVersion": "LG",
|
||
"ue_links": [],
|
||
"links_added_by_ue": [],
|
||
"ds": {
|
||
"scale": 1.1,
|
||
"offset": [
|
||
-3048.698587382934,
|
||
1363.985488079904
|
||
]
|
||
},
|
||
"frontendVersion": "1.36.14",
|
||
"VHS_latentpreview": true,
|
||
"VHS_latentpreviewrate": 0,
|
||
"VHS_MetadataImage": true,
|
||
"VHS_KeepIntermediate": true
|
||
},
|
||
"version": 0.4
|
||
} |