- Samsung-Zertifikate (author + distributor) fuer TV-App erstellt - WGT mit Samsung-Signatur auf TV installiert und getestet - Streaming movflags korrigiert: default_base_moof statt faststart (pipe) - frag_duration=1s fuer schnelleren Playback-Start auf Samsung TV - INSTALL.md komplett ueberarbeitet mit Manjaro/Arch-Anleitung - .gitignore: Tizen Studio workspace/ Ordner ausgeschlossen Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
195 lines
6.1 KiB
Markdown
195 lines
6.1 KiB
Markdown
# VideoKonverter - Samsung Tizen TV Installation
|
|
|
|
Die VideoKonverter TV-App auf einem Samsung Smart TV (Tizen) installieren.
|
|
|
|
## Voraussetzungen
|
|
|
|
- Samsung Smart TV mit Tizen OS (ab 2017, getestet: Tizen 9.0)
|
|
- PC und TV im gleichen Netzwerk
|
|
- Samsung Developer Account (kostenlos): https://developer.samsung.com/
|
|
- Tizen Studio auf dem PC
|
|
|
|
## Schritt 1: Tizen Studio installieren
|
|
|
|
Download: https://developer.tizen.org/development/tizen-studio/download
|
|
|
|
### Linux (Manjaro/Arch)
|
|
|
|
```bash
|
|
# Installer herunterladen und ausfuehren
|
|
chmod +x web-ide_Tizen_Studio_*.bin
|
|
./web-ide_Tizen_Studio_*.bin
|
|
|
|
# Nach Installation: Package Manager CLI nutzen
|
|
~/tizen-studio/package-manager/package-manager-cli.bin install \
|
|
--accept-license cert-add-on TV-SAMSUNG-Public
|
|
|
|
# WICHTIG auf Manjaro/Arch: Fake-dpkg Wrapper anlegen
|
|
# (Tizen PM prueft dpkg Pakete die auf Arch nicht existieren)
|
|
mkdir -p /tmp/fake-dpkg
|
|
cat > /tmp/fake-dpkg/dpkg << 'EOF'
|
|
#!/bin/bash
|
|
if [[ "$*" == *"-l"* ]] || [[ "$*" == *"--list"* ]] || [[ "$*" == *"-s"* ]]; then
|
|
for pkg in "$@"; do
|
|
[[ "$pkg" != -* ]] && echo "ii $pkg 99.0 amd64 Fake"
|
|
done
|
|
fi
|
|
exit 0
|
|
EOF
|
|
chmod +x /tmp/fake-dpkg/dpkg
|
|
# Dann mit PATH="/tmp/fake-dpkg:$PATH" den Package Manager starten
|
|
```
|
|
|
|
### Wichtige Pfade nach Installation
|
|
|
|
```
|
|
~/tizen-studio/tools/sdb # Smart Development Bridge
|
|
~/tizen-studio/tools/ide/bin/tizen # CLI-Tool
|
|
~/tizen-studio/tools/certificate-manager/certificate-manager # Certificate Manager GUI
|
|
```
|
|
|
|
## Schritt 2: Samsung Developer Zertifikat erstellen
|
|
|
|
Das Zertifikat signiert die App fuer den TV. Samsung TVs akzeptieren NUR Samsung-signierte
|
|
Zertifikate (nicht Standard-Tizen!).
|
|
|
|
### Voraussetzung: Samsung Certificate Extension installieren
|
|
|
|
```bash
|
|
# MUSS installiert sein, sonst erscheint "Samsung" nicht als Option!
|
|
PATH="/tmp/fake-dpkg:$PATH" ~/tizen-studio/package-manager/package-manager-cli.bin \
|
|
install --accept-license cert-add-on
|
|
```
|
|
|
|
### Zertifikat erstellen (Certificate Manager GUI)
|
|
|
|
1. Certificate Manager starten: `~/tizen-studio/tools/certificate-manager/certificate-manager`
|
|
2. **"+" klicken** > **Samsung** waehlen (NICHT Tizen!)
|
|
3. **TV** als Geraetetyp waehlen
|
|
4. Author-Zertifikat: Key Filename + Author Name eingeben
|
|
5. Samsung Developer Account einloggen
|
|
6. Distributor-Zertifikat: DUID des TVs eintragen (siehe Schritt 3)
|
|
7. **Finish** - Zertifikat wird unter `~/SamsungCertificate/<Profilname>/` gespeichert
|
|
|
|
**WICHTIG:** Zertifikat sichern! Bei App-Updates muss das gleiche Zertifikat verwendet werden.
|
|
Backup liegt in `tizen-app/certs/`.
|
|
|
|
## Schritt 3: TV vorbereiten (Developer Mode)
|
|
|
|
1. TV einschalten
|
|
2. **Apps** oeffnen (Home > Apps)
|
|
3. Ziffern **12345** eingeben (virtuelles Nummernfeld bei neueren Fernbedienungen)
|
|
4. Developer Mode **ON** schalten
|
|
5. **Host PC IP** eingeben (IP des PCs mit Tizen Studio)
|
|
6. **TV neustarten** (wichtig!)
|
|
|
|
### DUID auslesen (fuer Zertifikat)
|
|
|
|
```bash
|
|
# Erst TV verbinden (Schritt 4), dann:
|
|
~/tizen-studio/tools/sdb shell 0 getduid
|
|
# Gibt z.B. zurueck: KLCDNTGIJS4OU
|
|
```
|
|
|
|
## Schritt 4: TV verbinden
|
|
|
|
```bash
|
|
# Verbinden (Port 26101 muss offen sein)
|
|
~/tizen-studio/tools/sdb connect <TV-IP>
|
|
|
|
# Pruefen
|
|
~/tizen-studio/tools/sdb devices
|
|
# Zeigt: <IP>:26101 device <TV-Modell>
|
|
```
|
|
|
|
Falls Verbindung fehlschlaegt:
|
|
- Developer Mode aktiviert? PC-IP korrekt eingegeben?
|
|
- TV nach Aenderung des Developer Mode neugestartet?
|
|
- Port 26101 in Firewall offen?
|
|
|
|
## Schritt 5: WGT bauen und installieren
|
|
|
|
### WGT mit Samsung-Zertifikat signieren
|
|
|
|
```bash
|
|
# Sauberes Build-Verzeichnis erstellen (nur App-Dateien!)
|
|
mkdir -p /tmp/tizen-build
|
|
cp tizen-app/config.xml tizen-app/index.html tizen-app/icon.png /tmp/tizen-build/
|
|
|
|
# WGT mit Samsung Security Profile signieren
|
|
cd /tmp/tizen-build
|
|
~/tizen-studio/tools/ide/bin/tizen package -t wgt -s <Profilname> -- /tmp/tizen-build/
|
|
```
|
|
|
|
### Auf TV installieren
|
|
|
|
```bash
|
|
# TV-Name mit sdb devices ermitteln
|
|
~/tizen-studio/tools/ide/bin/tizen install -n /tmp/tizen-build/VideoKonverter.wgt -t <TV-Name>
|
|
```
|
|
|
|
Erfolgreiche Ausgabe:
|
|
```
|
|
Tizen application is successfully installed.
|
|
```
|
|
|
|
### App deinstallieren (falls noetig)
|
|
|
|
```bash
|
|
~/tizen-studio/tools/sdb shell 0 vd_appuninstall vkTVApp001.VideoKonverter
|
|
```
|
|
|
|
## Schritt 6: App starten
|
|
|
|
1. App erscheint als **"VideoKonverter"** im Apps-Menue des TVs
|
|
2. Beim **ersten Start**: Server-IP eingeben (z.B. `192.168.155.12:8080`)
|
|
3. Die IP wird gespeichert - beim naechsten Start verbindet die App automatisch
|
|
4. Login mit TV-App Benutzerdaten (erstellt in der Admin-Oberflaeche unter `/admin`)
|
|
|
|
## Wie funktioniert die App?
|
|
|
|
Die Tizen-App ist nur ein **duenner Wrapper**. Sie macht nichts ausser:
|
|
|
|
1. Beim ersten Start die Server-Adresse abfragen
|
|
2. Weiterleiten auf `http://<Server-IP>/tv/`
|
|
3. Ab dann kommt alles vom Docker-Container
|
|
|
|
**Vorteil:** Bei Software-Updates muss nur der Docker-Container aktualisiert werden.
|
|
Die App auf dem TV muss NICHT neu installiert werden.
|
|
|
|
## Fehlerbehebung
|
|
|
|
### "Invalid certificate chain" bei Installation
|
|
- **Haeufigster Fehler!** Samsung TVs akzeptieren NUR Samsung-signierte Zertifikate
|
|
- Im Certificate Manager: "Samsung" waehlen, NICHT "Tizen"
|
|
- Samsung Certificate Extension (`cert-add-on`) muss installiert sein
|
|
|
|
### TV wird nicht gefunden
|
|
- Sind PC und TV im gleichen Netzwerk/VLAN?
|
|
- Ist Developer Mode auf dem TV aktiviert + TV neugestartet?
|
|
- Firewall auf dem PC: Port 26101 offen?
|
|
|
|
### Video startet langsam / nicht
|
|
- Server laeuft? `curl http://<Server-IP>:8080/tv/`
|
|
- AV1-Videos brauchen einen TV mit AV1-Unterstuetzung (ab ~2020)
|
|
- Streaming nutzt fragmented MP4 (`frag_keyframe+empty_moov+default_base_moof`)
|
|
|
|
### App startet nicht / weisser Bildschirm
|
|
- Richtige Server-IP eingegeben?
|
|
- Browser-Cache leeren: App deinstallieren und neu installieren
|
|
|
|
## Getestete Konfiguration
|
|
|
|
| Komponente | Version |
|
|
|-----------|---------|
|
|
| Samsung TV | GQ65Q7FAAUXZG (Tizen 9.0) |
|
|
| Tizen Studio | 6.0+ |
|
|
| sdb | 4.2.36 |
|
|
| tizen CLI | 2.5.25 |
|
|
| Host OS | Manjaro Linux (KDE) |
|
|
|
|
## Links
|
|
|
|
- Samsung Developer Portal: https://developer.samsung.com/smarttv/develop
|
|
- Tizen Studio Download: https://developer.tizen.org/development/tizen-studio/download
|
|
- Samsung TV Quick-Start Guide: https://developer.samsung.com/smarttv/develop/getting-started/quick-start-guide.html
|