Files
usb-camera-webui/camera/app.py
T

37 lines
999 B
Python
Raw Normal View History

"""Entry point for the USB camera web UI server.
Usage::
uv run python -m camera.app # run directly
uv run python -m camera.app --host 0.0.0.0 --port 8080
"""
import argparse
import signal
import sys
from camera.mjpeg import run
def main():
parser = argparse.ArgumentParser(description="USB Camera Web UI Server")
parser.add_argument("--host", default="0.0.0.0", help="Bind address (default: 0.0.0.0)")
parser.add_argument("--port", type=int, default=8080, help="Port (default: 8080)")
args = parser.parse_args()
# Handle shutdown gracefully
def _signal_handler(signum, frame):
print(f"\nReceived signal {signum}, shutting down...")
sys.exit(0)
signal.signal(signal.SIGINT, _signal_handler)
signal.signal(signal.SIGTERM, _signal_handler)
print(f"Starting camera web UI on http://{args.host}:{args.port}")
print("Press Ctrl+C to stop")
run(host=args.host, port=args.port)
if __name__ == "__main__":
main()