Twitter-(X)-Video-URLs enthalten Informationen zur Auflösung.
Hier ist eine kleine Implementierung, die diese Information per regulärem Ausdruck extrahiert.
Implementierung
interface MediaSize { height: number; width: number;}
function extractVideoSize(url: string): MediaSize | undefined { const sizeRegex = /\/(\d+)x(\d+)\//; const match = url.match(sizeRegex);
if (match && match[1] && match[2]) { const width = parseInt(match[1], 10); const height = parseInt(match[2], 10); return { width, height }; }
return undefined;}Wichtiger Punkt
Der reguläre Ausdruck /\/(\d+)x(\d+)\// extrahiert einen Teil wie 1080x1920 aus der URL.
Wenn ein Treffer gefunden wird, werden die Werte mit parseInt in Zahlen umgewandelt und zurückgegeben. Wenn nicht, liefert die Funktion undefined.
Ausführungsbeispiel
const inputs = [ "https://video.twimg.com/ext_tw_video/1111/pu/vid/avc1/1080x1920/1.mp4", "https://video.twimg.com/ext_tw_video/1111/pu/pl/1.m3u8"];
console.log(extractVideoSize(inputs[0]));// { width: 1080, height: 1920 }
console.log(extractVideoSize(inputs[1]));// undefinedDie mp4-URL enthält Auflösungsinformationen, die m3u8-Playlist-URL dagegen nicht. Deshalb wird undefined zurückgegeben.
Zusammenfassung
Die Auflösung aus einer Twitter-Video-URL zu extrahieren, ist mit einem regulären Ausdruck einfach umzusetzen.
Das ist nützlich, wenn man vorab Größeninformationen für Vorschau oder Thumbnail-Erstellung braucht.
hsb.horse