--- name: get-video-dimensions description: Mediabunnyを使用して動画ファイルの幅と高さを取得する metadata: tags: dimensions, width, height, resolution, size, video --- # Mediabunnyによる動画寸法の取得 Mediabunnyは動画ファイルの幅と高さを抽出できます。ブラウザ、Node.js、Bun環境で動作します。 ## 動画寸法の取得 ```tsx import { Input, ALL_FORMATS, UrlSource } from "mediabunny"; export const getVideoDimensions = async (src: string) => { const input = new Input({ formats: ALL_FORMATS, source: new UrlSource(src, { getRetryDelay: () => null, }), }); const videoTrack = await input.getPrimaryVideoTrack(); if (!videoTrack) { throw new Error("No video track found"); } return { width: videoTrack.displayWidth, height: videoTrack.displayHeight, }; }; ``` ## 使用方法 ```tsx const dimensions = await getVideoDimensions("https://remotion.media/video.mp4"); console.log(dimensions.width); // 例: 1920 console.log(dimensions.height); // 例: 1080 ``` ## ローカルファイルとの使用 ローカルファイルの場合は、`UrlSource` の代わりに `FileSource` を使用します: ```tsx import { Input, ALL_FORMATS, FileSource } from "mediabunny"; const input = new Input({ formats: ALL_FORMATS, source: new FileSource(file), // 入力またはドラッグ&ドロップからのFileオブジェクト }); const videoTrack = await input.getPrimaryVideoTrack(); const width = videoTrack.displayWidth; const height = videoTrack.displayHeight; ``` ## RemotionのstaticFileとの使用 ```tsx import { staticFile } from "remotion"; const dimensions = await getVideoDimensions(staticFile("video.mp4")); ```