diff --git a/transcode_bench.py b/transcode_bench.py index fb72bb2..2d64e93 100755 --- a/transcode_bench.py +++ b/transcode_bench.py @@ -644,6 +644,20 @@ class Benchmark: print(f"✗ (failed)") high = mid - 1 + # If we have headroom, try one more stream + if max_streams > 0: + print(f"Testing {max_streams + 1} simultaneous streams (checking headroom)...", end=' ', flush=True) + success, avg_fps = self.run_parallel_transcodes(max_streams + 1) + + if success and avg_fps >= min_fps: + print(f"✓ (avg {avg_fps:.1f} fps)") + max_streams += 1 + else: + if success: + print(f"✗ (avg {avg_fps:.1f} fps - below real-time)") + else: + print(f"✗ (failed)") + return max_streams