| app | ||
| client | ||
| kde_context_plugin/share/kio/servicemenus | ||
| .gitignore | ||
| __main__.py | ||
| README.md | ||
| requirements.txt | ||
Video-Konvertierungsprogramm
Dies ist ein einfaches Video-Konvertierungsprogramm, das eine Weboberfläche zur Verfügung stellt, um Videos in verschiedene Formate zu konvertieren. Das Backend läuft auf Python und verwendet WebSockets, um mit der Benutzeroberfläche zu kommunizieren und den Status von Konvertierungen zu verfolgen.
Features
- Weboberfläche zur Anzeige aktueller Konvertierungen, Warteschlangen und Status.
- Echtzeit-Kommunikation via WebSocket zwischen Frontend und Backend.
- Automatische Konvertierung bei Dateipfadänderungen (optional, basierend auf den Einstellungen).
- Statistiken zu konvertierten Videos.
- Unterstützung für verschiedene Videoformate und Codecs.
Anforderungen
- Python 3.8+
- Abhängigkeiten:
aiohttp– Für den HTTP-Serverwebsockets– Für die WebSocket-Kommunikation- Weitere Abhängigkeiten wie z. B.
ffmpegfür die Video-Konvertierung
Installationsanweisungen
-
Klonen des Repositories:
git clone https://github.com/dein-benutzername/video-konverter.git cd video-konverter -
Installiere die Abhängigkeiten:
Wenn du noch keine virtuelle Umgebung eingerichtet hast, erstelle eine:
python3 -m venv venv source venv/bin/activate # Auf Windows: venv\ScriptsctivateDann installiere alle benötigten Abhängigkeiten:
pip install -r requirements.txt -
Installiere ffmpeg:
Für die Video-Konvertierung benötigst du
ffmpeg. Installiere es je nach deinem Betriebssystem:- Ubuntu/Debian:
sudo apt-get install ffmpeg - macOS (via Homebrew):
brew install ffmpeg - Windows:
Lade
ffmpegvon ffmpeg.org herunter und stelle sicher, dass es im Systempfad verfügbar ist.
- Ubuntu/Debian:
Nutzung
-
Starte den Server:
Der WebSocket-Server und der HTTP-Server laufen auf demselben Event-Loop. Um beide zu starten, führe einfach das Python-Skript aus:
python server.pyDer HTTP-Server ist auf
http://localhost:8080erreichbar, und die WebSocket-Verbindung läuft unterws://localhost:8000. -
Weboberfläche aufrufen:
Öffne deinen Webbrowser und gehe zu
http://localhost:8080, um die Benutzeroberfläche des Video-Konverters zu sehen. Du kannst Videos hochladen und deren Konvertierungsstatus in Echtzeit verfolgen.
Funktionen der Weboberfläche
- Aktuelle Konvertierungen: Zeigt alle laufenden und abgeschlossenen Konvertierungen an.
- Warteschlange: Zeigt an, welche Videos noch konvertiert werden müssen.
- Start/Pause/Stop: Ermöglicht es, die Konvertierung zu steuern (je nach Implementierung).
- Statistiken: Zeigt Informationen zu den konvertierten Videos (z. B. Dateigröße, Format, etc.).
Backend
Das Backend ist für die Verwaltung der Video-Konvertierungen zuständig und kommuniziert über WebSockets mit der Frontend-Weboberfläche.
WebSocket-Server
Der WebSocket-Server wartet auf Verbindungen und sendet Updates zu den Konvertierungen an die Clients. Die Kommunikation erfolgt mit JSON-Nachrichten. Der Server unterstützt folgende Nachrichtenarten:
- Datenpfad (
data_path): Gibt den Pfad der zu konvertierenden Datei an. - Befehle (
data_command): Für zukünftige Erweiterungen von Steuerbefehlen.
Konfiguration
Die Konfiguration des Programms erfolgt über eine YAML-Datei (z. B. config.yaml), die Parameter wie den Serverport, den Pfad zu den Konvertierungswerkzeugen (z. B. ffmpeg) und automatische Startoptionen für die Konvertierungen enthält.
Troubleshooting
-
Problem: Der WebSocket-Server startet nicht.
- Lösung: Überprüfe, ob der Port (Standard:
8000) bereits von einer anderen Anwendung verwendet wird.
- Lösung: Überprüfe, ob der Port (Standard:
-
Problem: Videos werden nicht konvertiert.
- Lösung: Stelle sicher, dass
ffmpegkorrekt installiert und im Systempfad verfügbar ist.
- Lösung: Stelle sicher, dass
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe LICENSE für Details.