media.trfx.de

Dynamischer Media Server — Bilder, Audio & Video on-the-fly verarbeiten

Nutzung

Dateien werden über die URL abgerufen. Mit Query-Parametern können Medien dynamisch verarbeitet werden.

https://media.trfx.de/{dateiname}?{parameter}

Ohne Parameter wird die Originaldatei direkt ausgeliefert.

Bildverarbeitung

Unterstützte Formate: PNG, JPG/JPEG, BMP, TIFF

Parameter Typ Beschreibung Beispiel
wintBreite in Pixel (1–10000)?w=500
hintHöhe in Pixel (1–10000)?h=300
qintJPEG-Qualität 1–100 (Standard: 85)?q=90
fitstringResize-Modus (cover, contain, fill)?fit=cover
fstringAusgabeformat (png, jpg, gif, bmp, tiff)?f=png
blurfloatWeichzeichner-Stärke (0–100)?blur=5.0
sharpfloatSchärfen-Stärke (0–100)?sharp=3.0
grayboolGraustufen (1 oder true)?gray=1
invertboolFarben invertieren (1 oder true)?invert=1
rotintRotation (90, 180, 270)?rot=90
flipstringSpiegeln (h, v, hv)?flip=h

Resize-Modi (fit)

Animierte GIF-Verarbeitung

GIF-Dateien werden unter Beibehaltung der Animation verarbeitet — wie bei ezgif.com.

Nutzt FFmpeg mit optimierter Palette für maximale Farbqualität.

Parameter Typ Beschreibung Beispiel
wintBreite in Pixel (1–10000)?w=320
hintHöhe in Pixel (1–10000)?h=240
fitstringResize-Modus (cover, contain, fill)?fit=contain
rotintRotation (90, 180, 270)?rot=90
flipstringSpiegeln (h, v, hv)?flip=h
grayboolGraustufen (1 oder true)?gray=1
invertboolFarben invertieren (1 oder true)?invert=1
blurfloatWeichzeichner-Stärke (0–100)?blur=3.0
sharpfloatSchärfen-Stärke (0–100)?sharp=2.0
speedfloatAnimationsgeschwindigkeit (0.5–4.0)?speed=2.0
reverseboolAnimation umkehren (1 oder true)?reverse=1
colorsintMax. Palettenfarben (2–256)?colors=64
fstringKonvertierung zu Einzelbild (png, jpg)?f=png

SVG-Verarbeitung

SVG-Dateien werden bei Parametern zu Rasterbildern konvertiert. Ohne Parameter wird die SVG-Datei direkt ausgeliefert.

Nutzt rsvg-convert für hochwertige Rasterisierung. Anschließend stehen alle Bild-Effekte zur Verfügung.

Parameter Typ Beschreibung Beispiel
wintBreite in Pixel?w=500
hintHöhe in Pixel?h=300
dpiintRender-DPI?dpi=300
fstringAusgabeformat (png, jpg)?f=jpg
fitstringResize-Modus (cover, contain, fill)?fit=cover
blurfloatWeichzeichner nach Rasterisierung?blur=2.0
grayboolGraustufen nach Rasterisierung?gray=1
invertboolFarben invertieren nach Rasterisierung?invert=1
rotintRotation (90, 180, 270)?rot=180

Audioverarbeitung

Unterstützte Formate: MP3, OGG, FLAC, WAV, AAC, M4A, WMA

Erfordert FFmpeg auf dem Server. Verarbeitung erfolgt on-the-fly.

Parameter Typ Beschreibung Beispiel
volfloatLautstärke-Multiplikator (0.0–10.0)?vol=2.0
speedfloatGeschwindigkeit (0.5–4.0)?speed=1.5
trimstringZuschnitt in Sekunden (start,ende)?trim=5,30
fadefloatFade-in/out Dauer in Sekunden?fade=2
afstringAusgabeformat (mp3, ogg, wav, flac, aac)?af=mp3

Videoverarbeitung

Unterstützte Formate: MP4, WebM, MKV, MOV, AVI, WMV

Erfordert FFmpeg auf dem Server. Verarbeitung erfolgt on-the-fly.

Parameter Typ Beschreibung Beispiel
wintBreite in Pixel?w=1280
hintHöhe in Pixel?h=720
volfloatLautstärke-Multiplikator (0.0–10.0)?vol=0.5
speedfloatGeschwindigkeit (0.5–4.0)?speed=2.0
trimstringZuschnitt in Sekunden (start,ende)?trim=0,10
muteboolAudio entfernen (1 oder true)?mute=1
fpsintFramerate ändern?fps=30
framefloatEinzelbild bei Sekunde extrahieren → gibt JPEG zurück?frame=5.0
vfstringAusgabeformat (mp4, webm, mkv, gif)?vf=gif

Beispiele

Bilder

media.trfx.de/bild.png?w=800 — Breite auf 800px skalieren
media.trfx.de/foto.jpg?w=400&h=400&fit=cover — 400×400 Quadrat, zugeschnitten
media.trfx.de/bild.png?gray=1&blur=3 — Graustufen mit Weichzeichner
media.trfx.de/foto.jpg?rot=90&f=png — 90° drehen, als PNG ausgeben
media.trfx.de/banner.png?w=1200&q=95&sharp=2 — 1200px breit, hohe Qualität, geschärft

Animierte GIFs

media.trfx.de/anim.gif?w=320 — Auf 320px verkleinern, Animation bleibt erhalten
media.trfx.de/anim.gif?speed=2.0 — Doppelte Animationsgeschwindigkeit
media.trfx.de/anim.gif?reverse=1&gray=1 — Rückwärts abspielen in Graustufen
media.trfx.de/anim.gif?w=200&h=200&fit=cover&colors=64 — 200×200 Cover-Crop mit reduzierter Palette
media.trfx.de/anim.gif?f=png — Erstes Frame als PNG extrahieren

SVG

media.trfx.de/icon.svg?w=64 — Rasterisieren auf 64px Breite (PNG)
media.trfx.de/logo.svg?w=500&f=jpg — Als 500px breites JPEG
media.trfx.de/diagram.svg?dpi=300 — Hochauflösende Rasterisierung (300 DPI)

Audio

media.trfx.de/song.mp3?vol=2.0 — Lautstärke verdoppeln
media.trfx.de/podcast.mp3?speed=1.5&trim=60,300 — 1.5× Geschwindigkeit, Minute 1 bis 5
media.trfx.de/track.wav?af=mp3&fade=3 — Zu MP3 konvertieren mit 3s Fade

Video

media.trfx.de/clip.mp4?w=1280&h=720 — Auf 720p skalieren
media.trfx.de/video.mp4?frame=5.0 — Einzelbild bei Sekunde 5 als JPEG
media.trfx.de/clip.mp4?trim=0,10&mute=1&vf=gif — Erste 10 Sek. als stummes GIF
media.trfx.de/video.mov?speed=2.0&vf=mp4 — Doppelte Geschwindigkeit, als MP4

Weitere Dateitypen

Alle anderen Dateitypen werden direkt ohne Verarbeitung ausgeliefert — mit korrektem Content-Type:

Upload API

Dateien können über die Upload-API hochgeladen werden (z.B. via ShareX). Authentifizierung erfolgt über einen geheimen Header.

Datei hochladen

POST /upload
Header: X-Upload-Secret: <secret>
Body: multipart/form-data, Feld: "file"

Erfolgreiche Antwort:

{
  "success": true,
  "url": "https://media.trfx.de/a1b2c3d4e5f6.png",
  "filename": "a1b2c3d4e5f6.png",
  "original_name": "screenshot.png",
  "size": 123456,
  "delete_url": "https://media.trfx.de/delete/a1b2c3d4e5f6.png"
}

Datei löschen

DELETE /delete/{dateiname}
Header: X-Upload-Secret: <secret>

Limits