Bild weiter verbessert, Icon und .desktop hinzugefügt
This commit is contained in:
68
README.md
68
README.md
@@ -45,24 +45,40 @@ Gedacht als Companion zu OBS Studio: **Anzeigen ohne Aufnehmen**.
|
||||
unabhängig vom Pixelformat.
|
||||
- **Roh-Modus** (Taste **R**): Diagnose-Umschalter, der sämtliche Verarbeitung
|
||||
(Bildglättung, Retro-Optik, Studio-Range-Korrektur, Kontrast-/
|
||||
Sättigungs-Punch, Gamma) umgeht und das Bild 1:1 anzeigt.
|
||||
Sättigungs-Punch, Gamma) umgeht und das Bild 1:1 anzeigt. Zusätzlich werden
|
||||
die Hardware-Regler am Grabber-Chip auf ihren beim Start gemerkten
|
||||
Ausgangswert zurückgesetzt; beim Ausschalten gelten wieder die gespeicherten
|
||||
Werte bzw. das aktive Profil.
|
||||
- **Live-Vergleich** (Taste **V**): zeigt links das rohe und rechts das
|
||||
bearbeitete Bild nebeneinander – praktisch zum Fein-Tunen der Hardware-Regler.
|
||||
- **Profile** (Menü „Profile“, Tasten **F1**–**F9**): speichert die aktuelle
|
||||
Kombination aus Bildglättung, Retro-Optik, Nachschärfen und den drei
|
||||
Hardware-Reglern unter einem Namen (z. B. „PlayStation“, „PS3“). Beim
|
||||
Umschalten werden Filter und Grabber-Regler sofort gesetzt; „unverändert“
|
||||
bei einem Hardware-Regler setzt ihn auf den Ausgangswert des Chips zurück.
|
||||
Speichern/Löschen geht im Menü „Profile“ und im Startdialog, dort lädt die
|
||||
Auswahl die Werte in die Felder. Ein Häkchen markiert das Profil, das zu den
|
||||
aktuellen Einstellungen passt. F1–F9 folgen der alphabetischen Reihenfolge
|
||||
im Menü.
|
||||
- **Screenshot** (Taste **P**): speichert das aktuell angezeigte (bearbeitete)
|
||||
Frame als PNG im Home-Verzeichnis.
|
||||
- **Frame-Dump** (Taste **D**, nur bei MJPEG): speichert das nächste rohe,
|
||||
unveränderte MJPEG-Frame direkt vom Chip als JPEG – nützlich, um zu prüfen,
|
||||
ob Abweichungen schon in den Rohdaten liegen oder erst bei der eigenen
|
||||
Verarbeitung entstehen.
|
||||
- **Programm-Icon und Startmenü-Eintrag**: Icon als SVG (`assets/hdmi-viewer.svg`),
|
||||
dazu eine `.desktop`-Datei. Beides wird bei `cmake --install` bzw. über das
|
||||
Paket installiert; das Fenster-Icon ist zusätzlich ins Programm eingebettet.
|
||||
|
||||
## Abhängigkeiten (Arch Linux)
|
||||
|
||||
```bash
|
||||
sudo pacman -S qt6-base cmake alsa-lib base-devel
|
||||
sudo pacman -S qt6-base qt6-svg cmake alsa-lib base-devel
|
||||
```
|
||||
|
||||
`qt6-base` bringt auf Arch bereits die benötigten `Qt6OpenGL`- und
|
||||
`Qt6OpenGLWidgets`-Module mit. `linux/videodev2.h` ist Teil von
|
||||
`Qt6OpenGLWidgets`-Module mit. `qt6-svg` wird für das SVG-Programm-Icon
|
||||
benötigt. `linux/videodev2.h` ist Teil von
|
||||
`linux-api-headers`, das über die `base`-Gruppe ohnehin installiert ist.
|
||||
|
||||
## Installation über AUR
|
||||
@@ -89,6 +105,12 @@ cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||
make -j$(nproc)
|
||||
```
|
||||
|
||||
Optional systemweit installieren (inkl. Startmenü-Eintrag und Icon):
|
||||
|
||||
```bash
|
||||
sudo cmake --install . --prefix /usr/local
|
||||
```
|
||||
|
||||
## Starten
|
||||
|
||||
```bash
|
||||
@@ -107,16 +129,33 @@ make -j$(nproc)
|
||||
| , / . | Hardware-Helligkeit dunkler / heller |
|
||||
| 1 / 2 | Hardware-Kontrast runter / hoch |
|
||||
| 3 / 4 | Hardware-Sättigung runter / hoch |
|
||||
| R | Roh-Modus (Diagnose, alle Effekte umgangen) ein/aus |
|
||||
| R | Roh-Modus (Diagnose, alle Filter + HW-Regler aus) ein/aus |
|
||||
| F1–F9 | Profil 1–9 laden (alphabetisch, siehe Menü „Profile“) |
|
||||
| V | Live-Vergleich (links roh, rechts bearbeitet) ein/aus |
|
||||
| P | Screenshot speichern (PNG) |
|
||||
| D | Rohes MJPEG-Frame dumpen (Diagnose) |
|
||||
| Esc | Vollbild verlassen ODER zurück zum Gerätedialog |
|
||||
|
||||
## Hilfsprogramme
|
||||
|
||||
`tools/colormatch.py` vergleicht zwei Screenshots (z. B. dasselbe Bild in einem
|
||||
Referenzprogramm und in HDMI Viewer) und ermittelt pro Farbkanal Gain, Offset
|
||||
und Gamma, die das Testbild an die Referenz angleichen – inklusive fertiger
|
||||
GLSL-Zeile. Mit `--palette` werden zusätzlich die häufigsten Flächenfarben
|
||||
beider Bilder ausgegeben. Benötigt `python-numpy` und `python-pillow`.
|
||||
|
||||
```bash
|
||||
python3 tools/colormatch.py referenz.png test.png --palette
|
||||
```
|
||||
|
||||
Beide Bilder müssen auf demselben Weg entstanden sein (z. B. beide als
|
||||
Desktop-Screenshot des laufenden Programms).
|
||||
|
||||
## Einstellungen
|
||||
|
||||
Werden gespeichert in: `~/.config/hdmi-viewer/HDMIViewer.conf`
|
||||
(Standard XDG-Pfad, kein manuelles Anlegen nötig)
|
||||
(Standard XDG-Pfad, kein manuelles Anlegen nötig). Profile liegen in
|
||||
derselben Datei im Abschnitt `[profiles]`.
|
||||
|
||||
## Audio-Gerät finden
|
||||
|
||||
@@ -131,3 +170,22 @@ aplay /tmp/test.wav
|
||||
|
||||
Das Gerät dann im Dialog so eingeben: z.B. `hw:2,0` oder `plughw:2,0`
|
||||
(plughw macht automatische Sample-Rate-Konvertierung, falls nötig)
|
||||
|
||||
## Änderungen
|
||||
|
||||
### 1.1.0
|
||||
|
||||
- Profile: Kombinationen aus Bildglättung, Retro-Optik, Nachschärfen und
|
||||
Hardware-Reglern speichern, laden und per **F1**–**F9** umschalten (Menü und
|
||||
Startdialog)
|
||||
- Fix: Das Bild wurde in der Anzeige auf etwa die Hälfte der Helligkeit
|
||||
abgedunkelt (Weiß 255 → 128), auch im Roh-Modus. Ursache war OpenGL-Zustand
|
||||
(u. a. Blending), den der `QPainter` der „Kein Signal“-Anzeige zurückließ.
|
||||
Der Zustand wird jetzt vor dem Zeichnen des Videobilds zurückgesetzt.
|
||||
- Roh-Modus (**R**) setzt zusätzlich die Hardware-Regler auf den Ausgangswert
|
||||
- Neues Programm-Icon, Startmenü-Eintrag, neue Abhängigkeit `qt6-svg`
|
||||
- Neues Hilfsprogramm `tools/colormatch.py`
|
||||
|
||||
### 1.0.0
|
||||
|
||||
- Erste Version
|
||||
|
||||
Reference in New Issue
Block a user