add stream_module
This commit is contained in:
74
web_viewer/test_shm.py
Executable file
74
web_viewer/test_shm.py
Executable file
@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Test script to check shared memory connection and read frames
|
||||
"""
|
||||
|
||||
from shared_memory_reader import SharedMemoryFrameReader
|
||||
import time
|
||||
|
||||
def main():
|
||||
print("=" * 50)
|
||||
print("Shared Memory Frame Buffer Test")
|
||||
print("=" * 50)
|
||||
print()
|
||||
|
||||
try:
|
||||
print("1. Connecting to shared memory...")
|
||||
reader = SharedMemoryFrameReader()
|
||||
print(" ✓ Connected successfully!")
|
||||
print()
|
||||
|
||||
print("2. Reading frames for 10 seconds...")
|
||||
print(" (Press Ctrl+C to stop early)")
|
||||
print()
|
||||
|
||||
start_time = time.time()
|
||||
frame_count = 0
|
||||
last_frame_num = -1
|
||||
|
||||
while time.time() - start_time < 10:
|
||||
result = reader.read_frame()
|
||||
|
||||
if result:
|
||||
header, jpeg_data = result
|
||||
|
||||
if header.frame_number != last_frame_num:
|
||||
frame_count += 1
|
||||
last_frame_num = header.frame_number
|
||||
|
||||
print(f" Frame #{header.frame_number}:")
|
||||
print(f" Size: {len(jpeg_data)} bytes ({len(jpeg_data)/1024:.1f} KB)")
|
||||
print(f" Resolution: {header.width}x{header.height}")
|
||||
print(f" Timestamp: {header.timestamp_us} µs")
|
||||
print()
|
||||
|
||||
time.sleep(0.1) # Don't spam console
|
||||
else:
|
||||
print(" No frame available, waiting...")
|
||||
time.sleep(0.5)
|
||||
|
||||
print("=" * 50)
|
||||
print(f"Test complete! Received {frame_count} frames in 10 seconds")
|
||||
print(f"Average FPS: {frame_count / 10:.1f}")
|
||||
print("=" * 50)
|
||||
|
||||
reader.close()
|
||||
|
||||
except KeyboardInterrupt:
|
||||
print("\n\nStopped by user")
|
||||
except Exception as e:
|
||||
print(f"\n✗ Error: {e}")
|
||||
print()
|
||||
print("Troubleshooting:")
|
||||
print("1. Is beacon_track running?")
|
||||
print(" cd beacon_track/build && ./main realtime output.txt")
|
||||
print()
|
||||
print("2. Is EnableFrameBuffer=true in config.ini?")
|
||||
print()
|
||||
print("3. Check beacon_track logs for 'Shared memory frame buffer initialized'")
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__':
|
||||
exit(main())
|
||||
Reference in New Issue
Block a user