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.
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.
git clone https://github.com/rt-asp/python.git rtasp
cd rtasp
sudo bash scripts/install.sh
http://localhost:8080
lub http://<adres-ip-serwera>:8080
.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
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
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
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", {})
System zawiera następujące moduły AI:
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.
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
ai_modules/__init__.py
:from .my_custom_module import MyCustomModule
available_modules = {
# Inne moduły...
"my_custom_module": MyCustomModule
}
ai:
enabled_modules: ["motion_detection", "my_custom_module"]
Jeśli napotkasz problemy:
journalctl -u rtasp.service -f
systemctl status rtasp.service
cat /opt/rtasp/logs/rtasp.log
RTASP jest udostępniany na licencji MIT. Szczegóły znajdziesz w pliku LICENSE.
Jeśli napotkasz problemy lub masz sugestie, utwórz zgłoszenie na GitHub.