設定ファイル
設定 (config.json)
slidemovie では、JSON 設定ファイルを使用して、動画の解像度、音質、TTS の設定などをカスタマイズできます。
設定の読み込み順序
プログラムは以下の順序で設定を読み込みます(後から読み込まれたものが優先されます)。
- 組み込みのデフォルト値: プログラム内にハードコードされています。
- ユーザー設定:
~/.config/slidemovie/config.json(ホームディレクトリ)。- 注意: このファイルが存在しない場合、初回実行時にデフォルト値で自動的に作成されます。
- ローカル設定:
./config.json(カレントディレクトリ)。 - CLI 引数: コマンドラインフラグ(特定の設定に対して最も高い優先度を持ちます)。
設定オプション一覧
config.json で使用可能なキーの一覧です。
テキスト読み上げ (TTS)
| キー | 型 | デフォルト | 説明 |
|---|---|---|---|
tts_provider |
文字列 | "google" |
AI プロバイダー (google または openai)。 |
tts_model |
文字列 | "gemini-2.5-flash-..." |
使用する具体的なモデル名。 |
tts_voice |
文字列 | "sadaltager" |
話者 ID (例: OpenAI の場合は alloy)。 |
tts_use_prompt |
真偽値 | true |
TTS API にシステムプロンプトを送信するかどうか。 |
prompt |
文字列 | "Please speak..." |
TTS エンジンへのシステム指示(プロンプト)。 |
動画フォーマット
| キー | 型 | デフォルト | 説明 |
|---|---|---|---|
screen_size |
[int, int] | [1280, 720] |
解像度 [幅, 高さ]。 |
video_fps |
int | 30 |
フレームレート (FPS)。 |
video_codec |
文字列 | "libx264" |
映像コーデック。 |
video_pix_fmt |
文字列 | "yuv420p" |
ピクセルフォーマット(互換性のため)。 |
音声フォーマット
| キー | 型 | デフォルト | 説明 |
|---|---|---|---|
audio_codec |
文字列 | "aac" |
音声コーデック。 |
sample_rate |
int | 44100 |
サンプリングレート (Hz)。 |
audio_bitrate |
文字列 | "192k" |
音声ビットレート。 |
audio_channels |
int | 2 |
1 (モノラル) または 2 (ステレオ)。 |
一般 / 処理設定
| キー | 型 | デフォルト | 説明 |
|---|---|---|---|
silence_sec |
浮動小数 | 2.5 |
各スライドの音声の前に挿入される無音時間(秒)。 |
max_retry |
int | 2 |
TTS API エラー時の最大リトライ回数。 |
ffmpeg_loglevel |
文字列 | "error" |
FFmpeg プロセスのログ出力レベル。 |
show_skip |
真偽値 | false |
true の場合、スキップされたタスク(変更のないファイル)をログに表示します。--debug でも有効化できます。 |
output_root |
文字列 | null |
動画出力先のルートディレクトリを指定します。CLI の -o オプションで上書き可能です。 |
output_filename |
文字列 | null |
出力される動画のファイル名(拡張子なし)。未設定の場合はプロジェクトIDが使用されます。CLI の -f オプションで上書き可能です。 |
config.json の例
例えば、フルHD (1080p) の動画を OpenAI を使って作成したい場合、プロジェクトフォルダに以下の内容で config.json を保存します。
{
"tts_provider": "openai",
"tts_model": "gpt-4o-mini-tts",
"tts_voice": "alloy",
"tts_use_prompt": false,
"screen_size": [1920, 1080]
}
警告: 一度プロジェクトのビルドを開始すると、解像度 (
screen_size) や FPS は状態ファイル (status.json) に記録されます。途中でこれらの設定を変更すると、slidemovieは不整合を検知して処理を中断します(動画が破損するのを防ぐため)。新しい動画設定を適用するには、movie/ディレクトリ内のファイルを削除して最初から再ビルドする必要があります。