Skip to content

YOLOv8 add-on on HD liveview #12

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

cedricve
Copy link
Member

@cedricve cedricve commented Feb 22, 2025

Description

YOLOv8 Add-On for HD Liveview

Motivation

The primary motivation behind this pull request is to enhance the live streaming experience by integrating YOLOv8, a state-of-the-art object detection model, into the high-definition (HD) live view functionality. This integration will enable real-time object detection and tracking during live video streaming, providing users with advanced analytics and insights.

Changes and Improvements

  1. Add YOLOv8 Model for Object Detection:

    • Added main.py to load and export the YOLOv8 model.
    • Updated requirements.txt to include dependencies necessary for YOLOv8 and TensorFlow.
  2. HD Liveview Integration:

    • Detailed setup and usage instructions in README.md for setting up high-definition live streaming using WebRTC.
    • Explanation of the architecture and steps involved in establishing a WebRTC connection for HD live streaming.
  3. WebRTC Negotiation and Streaming:

    • Implemented WebRTC negotiation steps (offer creation, answer creation, ICE candidates sharing) in WebRTC.js.
    • Established a connection to the MQTT broker for communication between the client and the Agent.
    • Handled video streaming and rendering using HTML <video> components.
  4. React Application for UI:

    • Created a React application in the ui folder to provide a user interface for the live streaming functionality.
    • Included necessary scripts and configurations in package.json and README.md.
    • Added components (MQTT.js, Stream.js, WebRTC.js) to handle MQTT communication and WebRTC streaming.
  5. Configuration and Environment Setup:

    • Added .gitignore files to exclude unnecessary files and directories from version control.
    • Provided an environment template (env.template.js) for setting up necessary environment variables.
    • Included additional assets and icons in the public folder.

Why It Improves the Project

  • Enhanced Functionality: By integrating YOLOv8, the project now supports advanced object detection capabilities, enabling users to perform real-time analytics on live video feeds.
  • Improved User Experience: The high-definition live view provides a clearer and more detailed video stream, making it easier for users to monitor and analyze the footage.
  • Scalability: The modular architecture and detailed documentation make it easier for developers to extend and customize the functionality as needed.
  • Modern Technology Stack: Utilizing WebRTC for live streaming and React for the user interface ensures that the project leverages modern, efficient, and widely-supported technologies.

Overall, this pull request significantly enhances the project's capabilities and user experience, making it a valuable addition to the existing functionality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant