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]));// undefinedL’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.
hsb.horse