Process Model Documentation
Hackathon Project — Problem Statement 3
Docker Container to WSL IP Camera Integration
Team No: 15
Date: 22 May 2026
1. Problem Statement
Design and implement a solution that allows a Docker container to successfully connect to an IP
camera located on a different network (WSL IP).
Key Challenges:
• Network isolation between Docker and WSL environments
• Routing issues and firewall restrictions
• Lack of direct visibility of host resources from within Docker
• Integrating real-time video streams into containerized AI/ML applications
Key Objectives:
• Network Bridging — reliable communication between Docker and WSL
• Connectivity Validation — container can stream video from IP camera
• Security & Stability — secure routing and firewall rules
• Automation — repeatable setup across any environment
• Scalability — multiple containers connecting to multiple cameras
• Integration Readiness — seamless AI/ML pipeline integration
2. Process Model Selection
2.1 Selected Model: Agile / Incremental Model
After evaluating all major software process models, the Agile / Incremental model was selected as the
most suitable approach for this project.
Why Agile is most suitable:
• The project has 6 independent objectives that can each be built and tested separately
• Networking and Docker integration involve trial-and-error — Agile supports this
• A working demo can be shown at every sprint even if the full project is not complete
• Hackathon timeline benefits from short, focused iterations with clear deliverables
• Feedback from each sprint improves the next one (e.g. fixing the network before adding AI/ML)
2.2 Why Other Models Were Rejected
Model Reason Rejected Why Agile is Better
Assumes all requirements are known
upfront. No room to go back and fix Agile allows fixing network issues in
Waterfall
issues. WSL networking is Sprint 1 before building AI/ML on top
unpredictable.
Designed for safety-critical systems. Agile is practical and lightweight —
V-Model Requires heavy formal testing better suited for engineering
documentation at every stage. hackathons
Built for long large-scale projects with
Agile captures the iterative spirit of
formal risk assessments at every
Spiral Spiral without the heavy risk
loop. Too heavy for hackathon
documentation overhead
timelines.
3. Agile Process Model — Sprint Plan
The project is divided into 5 sprints. Each sprint has a clear goal, set of tasks, and a testable
deliverable. No sprint begins until the previous one is validated.
Sprint 1: Network Bridge Setup
Task Description Who
Run 'ip addr show eth0' inside
Find WSL IP Person A
WSL to get dynamic IP address
Run netsh portproxy to forward
Port Forwarding port 554 from Windows host to Person A
WSL IP
Open port 554 in Windows
Firewall Rule Person A
Firewall using PowerShell
Docker container can route traffic
Deliverable
to WSL network successfully
Sprint 2: Stream Connectivity Validation
Task Description Who
Configure container with --network
Docker Config Person A
host or --add-host flag
Pass camera stream URL as
CAMERA_URL Env Var Person A
environment variable to container
Use ffprobe / [Link]()
Stream Test Person B
inside container to confirm stream
Live RTSP stream is readable and
Deliverable decodable inside the Docker
container
Task Description Who
Allow only ports 554/8554 in
Restrict Ports Person A
firewall. Block all unnecessary ports
Add --restart=unless-stopped to
Restart Policy Person B
Docker run command
Add error handling and reconnect
Connection Retry Person B
logic in [Link]
Deliverable System stays stable under failure
conditions with no unauthorized
access
Sprint 4: Automation & Scalability
Task Description Who
Auto-detect WSL IP, run port
[Link] Script forwarding, launch container in one Person A
command
Define multiple containers each
[Link] with their own CAMERA_URL Person B
variable
Run 2 containers simultaneously
camera Test connecting to different camera Person B
streams
Anyone can run 'bash [Link]' to
Deliverable deploy. Multiple cameras supported
via compose
Sprint 5: AI/ML Integration
Task Description Who
Load YOLOv8 model inside
YOLOv8 Integration container, run inference on each Person B
video frame
Draw bounding boxes on detected
Object Detection Person B
objects from the live camera feed
Display or save annotated frames
Live Demo Output Person B
as proof of AI/ML pipeline working
Live object detection running on
Deliverable real-time IP camera stream inside
Docker
4. Keyword Satisfaction Matrix
The following table maps each expected outcome from the problem statement to the sprint that satisfies
it.
Expected Outcome Sprint How it is Satisfied
netsh portproxy forwards WSL camera port to Docker. WSL
Network Bridging Sprint 1
IP auto-detected by setup script.
Connectivity ffprobe and [Link]() used inside container to
Sprint 2
Validation confirm stream is live and decodable.
Firewall rules restrict access to camera ports only. Docker
Security & Stability Sprint 3
restart policy ensures stability.
[Link] script auto-detects WSL IP and launches container
Automation Sprint 4
with one command on any machine.
[Link] defines multiple containers each
Scalability Sprint 4
connected to a different IP camera with no manual changes.
YOLOv8 object detection runs on live camera frames inside
Integration Readiness Sprint 5
the container. Bounding boxes drawn on output.
5. Conclusion
The Agile / Incremental process model is the most suitable choice for this project because:
• It allows the team to tackle the most difficult part first (network bridge) and validate it before proceeding
• Each sprint produces a working, demonstrable output — critical for a hackathon setting
• The iterative approach handles the unpredictable nature of WSL networking and Docker configuration
• All 6 key objectives from the problem statement are mapped to specific sprints with clear ownership
• The model supports the automation and scalability requirements through its incremental delivery
approach
Final deliverable of the project:
A fully automated, containerized solution that connects a Docker container to an IP camera on a WSL
network, validates the stream, secures the connection, scales to multiple cameras, and runs real-time
AI/ML object detection — all deployable with a single command.