| 75 | |
| 76 | |
| 77 | def create_parser(): |
| 78 | parser = argparse.ArgumentParser(description="Benchmarking PySceneDetect performance.") |
| 79 | parser.add_argument( |
| 80 | "--dataset", |
| 81 | type=str, |
| 82 | choices=[ |
| 83 | "BBC", |
| 84 | "AutoShot", |
| 85 | ], |
| 86 | help="Dataset name. Supported datasets are BBC and AutoShot.", |
| 87 | ) |
| 88 | parser.add_argument( |
| 89 | "--detector", |
| 90 | type=str, |
| 91 | choices=[ |
| 92 | "detect-adaptive", |
| 93 | "detect-content", |
| 94 | "detect-hash", |
| 95 | "detect-hist", |
| 96 | "detect-threshold", |
| 97 | ], |
| 98 | help="Detector name. Implemented detectors are listed: " |
| 99 | "https://www.scenedetect.com/docs/latest/cli.html", |
| 100 | ) |
| 101 | parser.add_argument( |
| 102 | "--detailed", |
| 103 | action="store_const", |
| 104 | const=True, |
| 105 | help="Print results for each video, in addition to overall summary.", |
| 106 | ) |
| 107 | parser.add_argument( |
| 108 | "--all", |
| 109 | action="store_const", |
| 110 | const=True, |
| 111 | help="Benchmark all detectors on all datasets. If --detector or --dataset are specified, " |
| 112 | "will only run with those.", |
| 113 | ) |
| 114 | return parser |
| 115 | |
| 116 | |
| 117 | def run_all_benchmarks(detector: str | None, dataset: str | None, detailed: bool): |