Startet nur nach Klick; mit Vorschaubild (intro.jpg) lädt vorab nichts vom Video. Vorschaubilder von Intro und Reels laufen über die Bildoptimierung statt im Original, Videos bevorzugen eine Web-Fassung <name>.web.mp4. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
16 lines
748 B
TypeScript
16 lines
748 B
TypeScript
/**
|
|
* URL eines Bildes ueber die Next.js-Bildoptimierung (AVIF/WebP, passende
|
|
* Breite) fuer Stellen, an denen kein <Image> moeglich ist, etwa das
|
|
* poster-Attribut von <video>. Ein 15-MB-Foto aus dem Medienverzeichnis wird
|
|
* so als wenige Dutzend Kilobyte ausgeliefert statt im Original.
|
|
*/
|
|
import { getImageProps } from "next/image";
|
|
|
|
/** Liefert eine Variante mit mindestens `width` Pixeln Breite. */
|
|
export function optimizedImageUrl(src: string, width: number): string {
|
|
// getImageProps gibt als src die 2x-Variante der angegebenen Breite
|
|
// zurueck; mit halber Breite entspricht sie der gewuenschten.
|
|
const half = Math.ceil(width / 2);
|
|
return getImageProps({ src, alt: "", width: half, height: half, quality: 75 }).props.src;
|
|
}
|