Skip to content

Commit

Permalink
Merge pull request #2 from FriendsOfREDAXO/skerbis-patch-translation
Browse files Browse the repository at this point in the history
Update rex_effect_video_to_webp.php
  • Loading branch information
skerbis authored Dec 6, 2024
2 parents 7493aea + d7b6127 commit 4f3ee05
Show file tree
Hide file tree
Showing 6 changed files with 357 additions and 114 deletions.
1 change: 0 additions & 1 deletion README.de.md

This file was deleted.

155 changes: 148 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,156 @@
# REDAXO VideoPreview
# 🎥 VideoPreview für REDAXO

AddOn generates animated webp or mp4 video without sound previews.
Extends the media manager
Dieses AddOn erweitert den REDAXO Media Manager um zwei neue Effekte zur automatischen Generierung von Vorschauen aus Videos. Die Effekte eignen sich ideal für Medienpools, Galerien oder überall dort, wo ein schneller Einblick in Videoinhalte benötigt wird.

## 🎯 Features

- **MP4-Vorschauen**: Kurze, stumme Videoausschnitte
- **WebP-Vorschauen**: Animierte Bilder mit kleiner Dateigröße
- **Intelligente Positionierung**: Auswahl zwischen Start, Mitte oder Ende des Videos
- **Optimiert für Text**: Spezielle Filter für bessere Lesbarkeit von Texten im Video
- **Flexible Konfiguration**: Von minimaler bis maximaler Kompression
- **Mehrsprachig**: Deutsch und Englisch integriert

## 🔧 Systemvoraussetzungen

- REDAXO 5.12 oder höher
- PHP 7.4 oder höher
- FFmpeg auf dem Server
- Ausreichend Arbeitsspeicher für Videoverarbeitung

## 📦 Installation

1. Im REDAXO-Backend zum Installer navigieren
2. "VideoPreview" suchen
3. Installieren und aktivieren
4. FFmpeg-Verfügbarkeit wird automatisch geprüft

## 🎮 Verwendung

### Im Media Manager

1. Einen neuen Media Manager Typ erstellen oder bestehenden bearbeiten
2. Einen der neuen Effekte hinzufügen:
- "Video Vorschau (MP4, ohne Ton)"
- "Video Vorschau (WebP)"

### Konfigurationsoptionen

Beide Effekte bieten folgende Einstellungen:

- **Position im Video**
- Anfang (nach 2 Sekunden)
- Mitte des Videos
- 10 Sekunden vor Ende

- **Ausgabebreite**
- Standard: 400px
- Empfehlung: 400-800px für optimale Textdarstellung

- **Kompressionsstufe**
1. Minimal (große Datei, beste Qualität)
2. Niedrig (bessere Qualität)
3. Standard (ausgewogen)
4. Hoch (kleine Datei)
5. Maximal (kleinste Datei)

- **FPS (Bilder pro Sekunde)**
- Standard: 12
- Empfehlung: 12-15 für beste Textlesbarkeit
- Maximum: 30

- **Snippet-Länge**
- Standard: 2 Sekunden
- Maximum: 10 Sekunden

### Beispiel URL-Verwendung

```php
// MP4-Vorschau
echo rex_media_manager::getUrl('video_preview_mp4', 'mein_video.mp4');

// WebP-Vorschau
echo rex_media_manager::getUrl('video_preview_webp', 'mein_video.mp4');
```

## 🔍 Technische Details

### Unterstützte Videoformate
- MP4
- M4V
- AVI
- MOV
- WebM

## Author
### FFmpeg-Optimierungen

**Friends Of REDAXO**
Der Code enthält spezielle FFmpeg-Filter für optimierte Videoqualität:

- **Textoptimierung**: Verbesserte Schärfe und Kontrast für bessere Lesbarkeit
- **Intelligentes Scaling**: Lanczos-Algorithmus mit akkurater Rundung
- **Adaptives Sharpening**: Unterschiedliche Unschärfemasken je nach Kompressionsstufe

### Speichernutzung

Die generierten Vorschauen werden temporär im Cache-Verzeichnis gespeichert und nach der Auslieferung automatisch gelöscht. Der Prozess ist memory-safe und für Produktivumgebungen optimiert.

## 💡 Empfehlungen

1. **Optimale Qualität für Text**
- Niedrige Kompressionsstufe wählen
- 12-15 FPS einstellen
- Mindestbreite von 400px nutzen

2. **Minimale Dateigröße**
- Höhere Kompressionsstufe verwenden
- FPS auf 12 setzen
- Kurze Snippet-Länge wählen

3. **Performance**
- Vorschauen beim Upload generieren
- URLs nach Möglichkeit cachen
- WebP-Variante für schnelleres Laden nutzen

## 🐛 Problemlösung

### FFmpeg-Prüfung
Verfügbarkeit prüfen mit:
```bash
ffmpeg -version
```

### Leere Ausgabe
1. Videolänge prüfen
2. Video auf Beschädigung prüfen
3. Logs in `data/log/` analysieren

### Speicherprobleme
PHP-Memory-Limits anpassen:
```php
memory_limit = 256M
max_execution_time = 300
```

## 🤝 Support & Mitarbeit

- [GitHub](https://github.com/FriendsOfREDAXO/videopreview)
- Pull Requests sind willkommen

## 📄 Lizenz

MIT-Lizenz



## 👏 Credits
- FFmpeg für die Videoverarbeitung

* http://www.redaxo.org
* https://github.com/FriendsOfREDAXO

**Lead**

[Thomas Skerbis](https://github.com/skerbis)

# REDAXO VideoPreview

AddOn generates animated webp or mp4 video without sound previews.
Extends the media manager
31 changes: 31 additions & 0 deletions lang/de_de.lang
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
videopreview_to_preview = Video Vorschau (MP4, ohne Ton)
videopreview_to_webp = Video Vorschau (WebP)

videopreview_error_ffmpeg = FFmpeg wurde nicht gefunden. Dieser Effekt wird nicht funktionieren.
videopreview_error_duration = Videolänge konnte nicht ermittelt werden
videopreview_error_output = Ausgabedatei ist leer oder existiert nicht
videopreview_error_command = Befehl fehlgeschlagen

videopreview_compression_minimal = Minimal (große Datei, beste Qualität)
videopreview_compression_low = Niedrig (bessere Qualität)
videopreview_compression_standard = Standard (ausgewogen)
videopreview_compression_high = Hoch (kleine Datei)
videopreview_compression_maximum = Maximal (kleinste Datei)

videopreview_position_label = Position im Video
videopreview_position_notice = Wähle die Stelle im Video, von der der Ausschnitt erstellt werden soll
videopreview_position_end = 10 Sekunden vor Ende
videopreview_position_middle = Mitte des Videos
videopreview_position_start = Anfang (nach 2 Sekunden)

videopreview_width_label = Ausgabebreite
videopreview_width_notice = Empfohlen: 400-800px für bessere Textdarstellung

videopreview_compression_label = Kompressionsstufe
videopreview_compression_notice = Niedrigere Kompression für bessere Textqualität wählen

videopreview_fps_label = FPS
videopreview_fps_notice = Empfohlen: 12-15 FPS für bessere Textlesbarkeit

videopreview_length_label = Snippet-Länge (Sekunden)
videopreview_length_notice = Maximal %d Sekunden. Empfohlen: 2-3 Sekunden
31 changes: 31 additions & 0 deletions lang/en_gb.lang
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
videopreview_to_preview = Video Preview (MP4, no sound)
videopreview_to_webp = Video Preview (WebP)

videopreview_error_ffmpeg = FFmpeg not found. This effect will not work.
videopreview_error_duration = Could not determine video duration
videopreview_error_output = Output file is empty or does not exist
videopreview_error_command = Command failed

videopreview_compression_minimal = Minimal (large file, best quality)
videopreview_compression_low = Low (better quality)
videopreview_compression_standard = Standard (balanced)
videopreview_compression_high = High (small file)
videopreview_compression_maximum = Maximum (smallest file)

videopreview_position_label = Position in video
videopreview_position_notice = Choose the position in the video from where the snippet should be created
videopreview_position_end = 10 seconds before end
videopreview_position_middle = Middle of video
videopreview_position_start = Start (after 2 seconds)

videopreview_width_label = Output width
videopreview_width_notice = Recommended: 400-800px for better text display

videopreview_compression_label = Compression level
videopreview_compression_notice = Choose lower compression for better text quality

videopreview_fps_label = FPS
videopreview_fps_notice = Recommended: 12-15 FPS for better text readability

videopreview_length_label = Snippet length (seconds)
videopreview_length_notice = Maximum %d seconds. Recommended: 2-3 seconds
Loading

0 comments on commit 4f3ee05

Please sign in to comment.