logo hsb.horse
← Retour au blog

Blog

Implémentation TypeScript pour extraire la taille depuis une URL vidéo Twitter

Une implémentation TypeScript qui extrait la résolution contenue dans une URL vidéo Twitter (X) avec une expression régulière. Résumé du motif d’URL et de la méthode.

Publié:

Les URL de vidéos Twitter (X) contiennent des informations de résolution.

Voici une implémentation qui extrait cette information avec une expression régulière.

Implémentation

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;
}

Point clé

L’expression régulière /\/(\d+)x(\d+)\// extrait depuis l’URL une portion comme 1080x1920.

Si la correspondance existe, les valeurs sont converties avec parseInt puis renvoyées. Sinon, la fonction renvoie undefined.

Exemple d’exécution

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]));
// undefined

L’URL mp4 contient les informations de résolution, mais pas l’URL de playlist m3u8, donc undefined est renvoyé.

Résumé

Extraire la résolution depuis une URL vidéo Twitter se fait facilement avec une expression régulière.

Cela peut servir lorsqu’on veut récupérer la taille à l’avance pour afficher une prévisualisation ou générer une miniature.