diff --git a/tools/camerastream/compressed_vipc.py b/tools/camerastream/compressed_vipc.py index 4322ce279a..42a416985e 100755 --- a/tools/camerastream/compressed_vipc.py +++ b/tools/camerastream/compressed_vipc.py @@ -85,6 +85,16 @@ def decoder(addr, sock_name, vipc_server, vst, nvidia): time_q = time_q[1:] print("%2d %4d %.3f %.3f roll %6.2f ms latency %6.2f ms + %6.2f ms + %6.2f ms = %6.2f ms" % (len(msgs), evta.idx.encodeId, evt.logMonoTime/1e9, evta.idx.timestampEof/1e6, frame_latency, process_latency, network_latency, pc_latency, process_latency+network_latency+pc_latency ), len(evta.data), sock_name) +def main(addr, cams, nvidia=False): + vipc_server = VisionIpcServer("camerad") + for vst in cams.values(): + vipc_server.create_buffers(vst, 4, False, W, H) + vipc_server.start_listener() + + for k, v in cams.items(): + multiprocessing.Process(target=decoder, args=(addr, k, vipc_server, v, nvidia)).start() + + if __name__ == "__main__": parser = argparse.ArgumentParser(description="Decode video streams and broadcast on VisionIPC") parser.add_argument("addr", help="Address of comma three") @@ -98,11 +108,4 @@ if __name__ == "__main__": ("driverEncodeData", VisionStreamType.VISION_STREAM_DRIVER), ] cams = dict([all_cams[int(x)] for x in args.cams.split(",")]) - - vipc_server = VisionIpcServer("camerad") - for vst in cams.values(): - vipc_server.create_buffers(vst, 4, False, W, H) - vipc_server.start_listener() - - for k,v in cams.items(): - multiprocessing.Process(target=decoder, args=(args.addr, k, vipc_server, v, args.nvidia)).start() + main(args.addr, cams, args.nvidia)