Skip to main content

libs to run RTASP - Real-Time Annotation and Stream Processing

Project description

RTASP - Real-Time Annotation and Stream Processing

RTASP to modularny system do wykrywania, przetwarzania i analizy strumieni wideo w czasie rzeczywistym. System umożliwia łatwą integrację z kamerami IP, mikrofonami i innymi źródłami sygnału, a także zapewnia zaawansowane możliwości adnotacji i analizy przy użyciu modułów AI.

Główne funkcje

  • Automatyczne wykrywanie kamer RTSP w sieci lokalnej
  • Zarządzanie strumieniami wideo z różnych źródeł
  • Przetwarzanie AI (wykrywanie ruchu, obiektów, twarzy, rozpoznawanie mowy)
  • Interfejs webowy do zarządzania systemem
  • Protokół komunikacyjny MCP (Message Communication Protocol) do integracji modułów
  • Nagrywanie i wykonywanie zrzutów ekranu
  • Modułowa architektura umożliwiająca łatwe rozszerzanie funkcjonalności

Szybka instalacja

Aby zainstalować RTASP na systemie Debian/Ubuntu/Raspberry Pi OS, wykonaj następującą komendę:

curl -sSL https://raw.githubusercontent.com/rt-asp/python/main/scripts/quick-install.sh | sudo bash

System zostanie zainstalowany w katalogu /opt/rtasp i uruchomiony jako usługa systemd.

Wymagania systemowe

  • Python 3.8 lub nowszy
  • System operacyjny: Debian, Ubuntu, Raspberry Pi OS (lub inny oparty na Linuxie)
  • Minimum 2GB RAM (4GB zalecane)
  • Minimum 1GB wolnego miejsca na dysku (więcej w przypadku nagrywania strumieni)

Ręczna instalacja

  1. Sklonuj repozytorium:

    git clone https://github.com/rt-asp/python.git rtasp
    cd rtasp
    
  2. Uruchom skrypt instalacyjny:

    sudo bash scripts/install.sh
    
  3. Po instalacji, RTASP zostanie uruchomiony jako usługa systemd. Możesz uzyskać dostęp do interfejsu webowego pod adresem http://localhost:8080 lub http://<adres-ip-serwera>:8080.

Konfiguracja

Główny plik konfiguracyjny znajduje się w /opt/rtasp/config/config.yaml. Możesz go edytować, aby dostosować system do swoich potrzeb. Po dokonaniu zmian, uruchom ponownie usługę:

sudo systemctl restart rtasp.service

Ręczne uruchamianie

RTASP można również uruchomić ręcznie:

rtasp  # Używa domyślnej konfiguracji

# Lub z określonym plikiem konfiguracyjnym:
rtasp -c /ścieżka/do/config.yaml

# Tryb skanowania sieci w poszukiwaniu kamer RTSP:
rtasp -s

Struktura projektu

rtasp/
├── config/                    # Katalog konfiguracyjny
├── core/                      # Główne moduły systemu
├── ai_modules/                # Moduły przetwarzania AI
├── web/                       # Interfejs webowy
├── models/                    # Folder na modele AI
├── tools/                     # Narzędzia pomocnicze
├── scripts/                   # Skrypty pomocnicze
├── tests/                     # Testy jednostkowe
├── docs/                      # Dokumentacja
├── main.py                    # Główny plik uruchomieniowy
└── requirements.txt           # Zależności Pythona

Protokół komunikacyjny MCP

System wykorzystuje wewnętrzny protokół komunikacyjny MCP (Message Communication Protocol) oparty na wzorcu Publish-Subscribe. Umożliwia to luźne powiązanie komponentów systemu i łatwą rozbudowę.

Przykład użycia MCP:

from core.mcp import MCPClient

# Utworzenie klienta MCP
client = MCPClient(broker, client_id="my_module")

# Subskrypcja zdarzeń
client.subscribe("stream/+/frame", handle_frame)
client.subscribe("ai/face_recognition/result", handle_face_result)

# Publikowanie zdarzeń
client.publish("command/stream/start/camera1", {})

Moduły AI

System zawiera następujące moduły AI:

  • motion_detection - wykrywanie ruchu w strumieniu wideo
  • object_detection - wykrywanie i klasyfikacja obiektów
  • face_recognition - rozpoznawanie twarzy
  • speech_recognition - rozpoznawanie mowy
  • audio_processor - analiza dźwięku

Rozszerzanie systemu

RTASP został zaprojektowany z myślą o łatwej rozbudowie. Możesz tworzyć własne moduły AI, dodawać nowe źródła strumieni i integrować system z innymi aplikacjami.

Tworzenie własnego modułu AI

  1. Utwórz nowy plik w katalogu ai_modules:
# ai_modules/my_custom_module.py
import cv2
import numpy as np

class MyCustomModule:
    def __init__(self, config=None):
        self.config = config or {}
        
    def process_frame(self, frame):
        # Przetwarzanie klatki wideo
        processed_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        
        return {
            "processed_frame": processed_frame,
            "result": "Przykładowy wynik"
        }
        
    def process_audio(self, audio_chunk):
        # Opcjonalne przetwarzanie audio
        return None
  1. Zarejestruj moduł w ai_modules/__init__.py:
from .my_custom_module import MyCustomModule

available_modules = {
    # Inne moduły...
    "my_custom_module": MyCustomModule
}
  1. Włącz moduł w konfiguracji:
ai:
  enabled_modules: ["motion_detection", "my_custom_module"]

Rozwiązywanie problemów

Jeśli napotkasz problemy:

  1. Sprawdź logi systemowe:

    journalctl -u rtasp.service -f
    
  2. Sprawdź status usługi:

    systemctl status rtasp.service
    
  3. Sprawdź logi aplikacji:

    cat /opt/rtasp/logs/rtasp.log
    

Licencja

RTASP jest udostępniany na licencji MIT. Szczegóły znajdziesz w pliku LICENSE.

Kontakt i zgłaszanie problemów

Jeśli napotkasz problemy lub masz sugestie, utwórz zgłoszenie na GitHub.


Projekt RTASP (Real-Time Audio and Stream Processing)


  • Modular Documentation made possible by the FlatEdit project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rtasp-0.1.7.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rtasp-0.1.7-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file rtasp-0.1.7.tar.gz.

File metadata

  • Download URL: rtasp-0.1.7.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for rtasp-0.1.7.tar.gz
Algorithm Hash digest
SHA256 30e7761baaa807472a3fee45754db56a7e666e1423650610e143f609b6e3f384
MD5 f7f23b7d663a765b1e1e27256669dae4
BLAKE2b-256 645d0687f429932eabc6a0b2be77d20b289b0e41a429b5e605ce6d15d8f03dbe

See more details on using hashes here.

File details

Details for the file rtasp-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: rtasp-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for rtasp-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ea7380c4f672df763dd909c14f220894d5a0679eec8392d769492ef3240b855c
MD5 444ebbbbb39a3bd018450314a6c9204b
BLAKE2b-256 e8802c1c3980ba346fe8626be8b506e29d599e5bcfba4dd2f1c526bddc144471

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page