Download Latest Version SlimVideoCutter.tar.gz (77.5 MB)
Email in envelope

Get an email when there's a new version of SlimVideoCutter

Home
Name Modified Size InfoDownloads / Week
requirements.txt < 11 hours ago 81 Bytes
sourcecode.tar.gz < 12 hours ago 7.9 kB
SlimVideoCutter.tar.gz < 12 hours ago 77.5 MB
readme.txt < 12 hours ago 6.1 kB
Totals: 4 Items   77.5 MB 0
===============================================================================
            SIMPLE QT FFMPEG VIDEO EDITOR (PROTOTYP / IDEENENTWURF)
===============================================================================

WICHTIGER HINWEIS FÜR DIE COMMUNITY:
Bei dieser Software handelt es sich um einen experimentellen Prototypen (Proof 
of Concept) und einen konzeptionellen Ideenentwurf. Das Programm demonstriert, 
wie plattformunabhängiger Videoschnitt, Multithreading und die mächtige 
FFmpeg-Filter-Engine unter PyQt6 miteinander verzahnt werden können. Für den 
alltäglichen, professionellen Produktionseinsatz ist das Skript zu fragil, 
bietet aber eine hervorragende, leicht verständliche Code-Basis für Bastler!

-------------------------------------------------------------------------------
1. FUNKTIONSERLÄUTERUNG (HOW IT WORKS UNDER THE HOOD)
-------------------------------------------------------------------------------

Das Programm eliminiert fehleranfällige Drittanbieter-Videodecoder (wie OpenCV 
oder PyAV) und setzt für maximale Codec-Kompatibilität zu 100% auf FFmpeg:

* Reine Sekunden-Basis (Tupel- & Frame-Schutz):
  Um Abstürze durch variable Frameraten (VFR) von Smartphones oder korrupte 
  Frame-Header zu verhindern, arbeitet die gesamte interne Logik strikt auf 
  Sekunden-Basis. Das macht den Import und das Spulen absolut unzerstörbar.

* Isoliertes Hintergrund-Rendering (Multithreading): 
  Die Videoverarbeitung läuft in einem eigenen QThread (Klasse RenderThread). 
  Das verhindert das Blockieren des Haupt-Threads. Die grafische Oberfläche 
  (GUI) bleibt während des gesamten Exportvorgangs voll bedienbar.

* Native Multimedia-Engine (Vorschau mit Ton):
  Die Vorschau-Monitore nutzen die hardwarebeschleunigte QMediaPlayer-Engine 
  von PyQt6. Dadurch werden Videos lippensynchron mit echtem Ton abgespielt, 
  während die CPU-Last im Leerlauf minimal bleibt.

* Universeller FFmpeg-Filterkomplex (Keine Black-Screen-Bugs):
  Beim Zusammenfügen zwingt der Hintergrund-Thread alle Videofiles (egal wie 
  verschieden Auflösung, FPS oder Audiokanäle sind) in ein standardisiertes 
  Korsett (Full-HD 1920x1080 bei 30 FPS, Audio resampelt auf 44.1 kHz Stereo). 
  FFmpeg gleicht Formatkonflikte im RAM automatisch aus. Unpassende Formate 
  werden mit sauberen Letterbox-Balken versehen, statt das Bild zu verwirfen.

* Intelligenter Export-Schutz:
  Vergissst ein Nutzer beim Speichern die Endung anzugeben, korrigiert die 
  Software den Pfad automatisch im Hintergrund auf ".mp4".

-------------------------------------------------------------------------------
2. SYSTEM-VORAUSSETZUNGEN (PREREQUISITES)
-------------------------------------------------------------------------------

Da das Programm als Steuerzentrale für FFmpeg und die Multimedia-Hardware dient, 
müssen die folgenden Medienpakete auf dem Linux-System vorhanden sein:

Für Linux (Ubuntu / Debian / Mint / etc.):
-> Öffnen Sie Ihr Terminal und installieren Sie die Codecs und Player-Backends mit:
   sudo apt update && sudo apt install ffmpeg libavcodec-extra gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav -y

-------------------------------------------------------------------------------
3. ANLEITUNG ZUM BAUEN EINER BINÄRDATEI (EXECUTABLE COMPILATION)
-------------------------------------------------------------------------------

Um aus den Python-Skripten eine eigenständige, ausführbare Binärdatei für 
Endnutzer ohne Python-Installation zu generieren, wird PyInstaller genutzt.

Schritt 1: PyInstaller installieren
-> Führen Sie diesen Befehl in Ihrem Linux-Terminal aus:
   python3 -m pip install pyinstaller --break-system-packages

Schritt 2: Der Kompilierungs-Befehl
-> Führen Sie folgenden Befehl im Hauptverzeichnis Ihres Projekts aus:
   pyinstaller --noconfirm --onedir --windowed --name "SimpleVideoEditor" --clean main.py

   Erklärung der Parameter:
   --onedir:   Erstellt einen Ordner mit der Binärdatei und allen benötigten 
               Bibliotheken. Startet deutlich schneller als eine einzelne Datei 
               (--onefile), da die Bibliotheken nicht temporär entpackt werden.
   --windowed: Verhindert, dass sich beim Start ein hässliches, schwarzes 
               Konsolen-Fenster im Hintergrund öffnet.
   --clean:    Löscht alte Cache-Dateien vor dem Build-Vorgang.

Schritt 3: FFmpeg integrieren (WICHTIG FÜR DIE PORTABILITÄT!)
-> Nach dem erfolgreichen Build finden Sie einen neuen Ordner namens 
   "dist/SimpleVideoEditor".
-> Damit der Export auf Systemen ohne globales FFmpeg funktioniert, kopieren 
   Sie die ausführbaren Dateien "ffmpeg" und "ffprobe" Ihres Linux-Systems 
   (Pfade findbar via 'which ffmpeg') direkt in diesen Ordner hinein.
-> Packen Sie den gesamten Ordner "SimpleVideoEditor" in ein Archiv 
   (.zip oder .tar.gz), um es im Files-Bereich auf SourceForge hochzuladen.

-------------------------------------------------------------------------------
4. DATEISTRUKTUR DES PROJEKTS (ARCHITECTURE)
-------------------------------------------------------------------------------

* main.py          - Startdatei der Anwendung. Initialisiert das Qt-System.
* main_window.py   - Steuert das Hauptfenster, das Dark-Theme & die Export-Logik.
* video_monitor.py - Beinhaltet die Abspiel-Logik und die Timeline-Steuerung.
* video_monitor_ui.py - Enthält das reine grafische Qt-Layout (Widgets & Buttons).
* render_thread.py - Der Hintergrund-Prozess (QThread) für das FFmpeg-Rendering.
* requirements.txt - Liste der minimal benötigten Python-Pakete (nur PyQt6).

-------------------------------------------------------------------------------
5. LIZENZ & BASTLER-HINWEIS
-------------------------------------------------------------------------------

Der Quellcode steht der Open-Source-Community frei zur Verfügung. Wenn du Ideen 
hast, den Entwurf weiterzuentwickeln oder Fehler zu fixen, freuen wir uns über 
Tickets, Code-Anpassungen (Patches) oder Forks direkt hier auf SourceForge!
===============================================================================

Source: readme.txt, updated 2026-07-14