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
-
Sklonuj repozytorium:
git clone https://github.com/rt-asp/python.git rtasp cd rtasp
-
Uruchom skrypt instalacyjny:
sudo bash scripts/install.sh
-
Po instalacji, RTASP zostanie uruchomiony jako usługa systemd. Możesz uzyskać dostęp do interfejsu webowego pod adresem
http://localhost:8080lubhttp://<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
- 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
- Zarejestruj moduł w
ai_modules/__init__.py:
from .my_custom_module import MyCustomModule
available_modules = {
# Inne moduły...
"my_custom_module": MyCustomModule
}
- Włącz moduł w konfiguracji:
ai:
enabled_modules: ["motion_detection", "my_custom_module"]
Rozwiązywanie problemów
Jeśli napotkasz problemy:
-
Sprawdź logi systemowe:
journalctl -u rtasp.service -f
-
Sprawdź status usługi:
systemctl status rtasp.service
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30e7761baaa807472a3fee45754db56a7e666e1423650610e143f609b6e3f384
|
|
| MD5 |
f7f23b7d663a765b1e1e27256669dae4
|
|
| BLAKE2b-256 |
645d0687f429932eabc6a0b2be77d20b289b0e41a429b5e605ce6d15d8f03dbe
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea7380c4f672df763dd909c14f220894d5a0679eec8392d769492ef3240b855c
|
|
| MD5 |
444ebbbbb39a3bd018450314a6c9204b
|
|
| BLAKE2b-256 |
e8802c1c3980ba346fe8626be8b506e29d599e5bcfba4dd2f1c526bddc144471
|