Skip to content本文へ移動

ソースからのビルド

開発への参加、独自ビルド、Linux ユーザー向け。

ソースからビルドするには、Rust 1.89 以降、OS に対応したビルドツール、FFmpeg 8.1.x の開発用ライブラリが必要です。React ランタイムのビルドには、CI と同じ Node.js 24 と、ルートの package.json に指定された pnpm を使ってください。

1. OS の準備

macOS

Xcode Command Line Tools と Homebrew をインストールします。続いてライブラリを入れ、Celesta をビルドするシェルで pkg-config に keg-only の FFmpeg パッケージを指定します。

xcode-select --install
brew install ffmpeg@8 pkg-config
export PKG_CONFIG_PATH="$(brew --prefix ffmpeg@8)/lib/pkgconfig"

Windows

MSVC の C++ ビルドツールと vcpkg をインストールします。VCPKG_ROOT に vcpkg のチェックアウト先を設定し、以下の FFmpeg パッケージをインストールします。MSVC ツールチェーンを設定したシェルで Cargo を実行してください。

vcpkg install ffmpeg[x264]:x64-windows-static-md

vcpkg は、FFmpeg 8.1.x を提供するリリース(例:2026.07.29)を使ってください。新しいポートでは、未対応の FFmpeg 9 が提供される場合があります。

Linux

Ubuntu 24.04 LTS を含む多くのディストリビューションでは FFmpeg 8.1.x が提供されないため、手順 2 でソースを取得した後、リポジトリの scripts/build-ffmpeg-linux.sh でビルドします。libx264 を含む静的ライブラリを /opt/ffmpeg8 に構築し、4 コアで約 5 分かかります。Cargo は libclang-dev で FFmpeg のバインディングを生成します。Debian と Ubuntu では、リポジトリのルートで以下を実行します。

sudo apt-get install -y build-essential nasm pkg-config curl xz-utils zlib1g-dev libx264-dev libclang-dev
sudo apt-get install -y libasound2-dev libxkbcommon-x11-dev libfontconfig-dev
sudo scripts/build-ffmpeg-linux.sh /opt/ffmpeg8
export PKG_CONFIG_PATH=/opt/ffmpeg8/lib/pkgconfig

Cargo を実行する各シェルで PKG_CONFIG_PATH を設定します。FFmpeg は Celesta の実行ファイルにリンクされるので LD_LIBRARY_PATH は不要です。ディストリビューションが FFmpeg 8.1.x を提供する場合は、スクリプトの代わりに pkg-config と libavcodec、libavformat、libavfilter、libavdevice、libavutil、libswscale、libswresample の開発パッケージをインストールしてください。GPU なしでの書き出しは、動画の書き出しをご覧ください。

2. ソースを取得

git clone https://github.com/mika-f/Celesta.git celesta
cd celesta

3. React ランタイムをビルドする

アプリを起動する前に、ワークスペースの依存関係をインストールし、共有の型定義と React ランタイムをビルドします。

pnpm install
pnpm --dir packages/react run codegen
pnpm run build:runtime

4. React コンポジションを開く

cargo run -p celesta-editor --release -- packages/cli/examples/title.tsx

タイトルのサンプルが開き、プレビュー、タイムライン、Assets パネル、Inspector が表示されます。別の React ファイルを指定して開くこともできます。

cargo run -p celesta-editor --release -- examples/reel/film.tsx

リポジトリのルートで実行します。examples/ 内の React サンプルは pnpm ワークスペースのパッケージなので、依存関係もインストールされます。自分のプロジェクトをはじめるには、以下を実行します。

cargo run -p celesta-editor --release -- --init my-video

生成されるファイルと依存関係の設定は、プロジェクトの作成をご覧ください。

cargo run -p celesta-editor --release -- packages/cli/examples/title.tsx
cargo run -p celesta-exporter --release -- --react packages/cli/examples/title.tsx output.mp4

Cargo コマンドはリポジトリのルートで実行します。パッケージ版の利用者はこの節を飛ばして、最初の React コンポジションに進めます。

インストールせずに、試してみよう。

ブラウザで Celesta を動かせます。書き出しもできます。

プレイグラウンドを開く