チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル».NET»Spire.Presentation for .NET»変換»C# で PowerPoint を動画に変換する方法(MP4 と WMV)
2026-04-30

C# で PowerPoint を動画に変換する方法(MP4 と WMV)

C# で PowerPoint を動画に変換する方法のチュートリアル

PowerPoint プレゼンテーションは、研修資料、製品デモ、オンライン講座、ビジネスレポートなどで広く活用されています。しかし、生の PPT または PPTX ファイルを共有する際には、受信者が PowerPoint をインストールしていない場合がある、アニpngメーションが正しく再生されない、大量処理では手動エクスポートが非効率的になるなどの問題が発生する可能性があります。

MP4 や WMV などの動画形式に PowerPoint を変換することで、書式設定とアニメーションを保持した汎用性の高いコンテンツを作成し、これらの課題を解決できます。e-iceblue の Spire.Presentation を使用すれば、開発者は Microsoft PowerPoint のインストールなしで、プログラムによって PowerPoint から動画への変換を自動化できます。

本記事では、Spire.Presentation for .NET を使用して C# で PowerPoint プレゼンテーションを MP4 および WMV 動画に変換する方法を、フレームレート、スライド持続時間、トランジション保持などの設定オプションを含めて解説します。

目次


1. プログラムによる PowerPoint 動画変換の必要性

開発者は、より大規模なビジネスワークフローの一部として、PowerPoint プレゼンテーションを動画に変換する必要が生じることがあります。Microsoft PowerPoint で手動でファイルをエクスポートする場合と比較して、プログラムによる変換は柔軟性と拡張性に優れています。

一般的なユースケースには以下が含まれます:

  • Web アプリケーションでアップロードされた PPT/PPTX ファイルを自動的に MP4 動画に変換
  • LMS プラットフォーム向けの研修プレゼンテーションを一括処理
  • プレゼンテーションテンプレートから製品デモ動画を生成
  • Microsoft PowerPoint がインストールされていないサーバー上でプレゼンテーションを変換
  • 異なるデバイス間でのプレゼンテーション配信を標準化

プログラムによる変換は、再現可能なワークフロー、サーバーサイド処理、または既存のドキュメント自動化システムとの統合が必要な場合に特に有用です。


2. 環境設定

PowerPoint プレゼンテーションを動画に変換する前に、以下の 2 つのコンポーネントを準備する必要があります:

  • Spire.Presentation for .NET – PPT/PPTX ファイルの読み込みと処理に使用
  • FFmpeg – スライドフレームを MP4 または WMV 動画ファイルにエンコードするために使用

Spire はプレゼンテーションのレンダリングを担当し、FFmpeg は最終的な動画出力を生成します。両方が正常な変換に必要となります。

Spire.Presentation for .NET のインストール

NuGet からライブラリをインストールします:

Install-Package Spire.Presentation

Spire.Presentation for .NET パッケージをダウンロードして手動でインストールすることも可能です。

このパッケージにより、C# アプリケーションで PowerPoint プレゼンテーションを開き、スライドにアクセスし、プログラムでエクスポートできるようになります。

FFmpeg のインストール

Spire.Presentation は、レンダリングされたスライドフレームを組み合わせて再生可能な動画ファイルにするために FFmpeg に依存しています。FFmpeg がインストールされていないか、パスが正しく設定されていない場合、エクスポートプロセスは失敗します。

  • Windows の場合

以下の手順で FFmpeg をインストールします:

  1. FFmpeg essentials ビルドをダウンロード

    Windows 用 FFmpeg Essentials Build

  2. パッケージをローカルマシンに展開

  3. bin フォルダのパスを確認

例:

D:\tools\ffmpeg\bin

このパスは後で SaveToVideoOption を設定する際に使用します。

  • Linux(CentOS)の場合

以下のコマンドを使用して FFmpeg をインストールします:

sudo yum install epel-release
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
sudo yum install ffmpeg ffmpeg-devel

インストール後、以下のコマンドを実行して FFmpeg のパスを確認できます:

which ffmpeg

注意:古いバージョンの FFmpeg では、特定のスライドトランジション効果を完全にサポートできない場合があります。


3. C# で PowerPoint を MP4 に変換

環境設定が完了したら、数行のコードで PowerPoint プレゼンテーションを MP4 に変換できます。

基本的なワークフローは以下の通りです:

  1. PowerPoint ファイルを読み込む
  2. 動画エクスポート設定を構成
  3. プレゼンテーションを MP4 としてエクスポート

基本的な変換例

次の例では、PPTX ファイルを MP4 動画に変換します:

using Spire.Presentation;

namespace PowerPointToVideo
{
    class Program
    {
        static void Main(string[] args)
        {
            // 入力ファイルと出力ファイルのパスを設定
            string inputFile = "ProductDemo.pptx";
            string outputFile = "ProductDemo.mp4";

            // Presentation オブジェクトを作成してファイルを読み込む
            Presentation presentation = new Presentation();
            presentation.LoadFromFile(inputFile);

            // FFmpeg のパスを指定して動画エクスポートオプションを設定
            presentation.SaveToVideoOption = new SaveToVideoOption(
                @"D:\tools\ffmpeg\bin"
            );

            // フレームレートを 30 FPS に設定
            presentation.SaveToVideoOption.Fps = 30;
            // 各スライドの表示時間を 2 秒に設定
            presentation.SaveToVideoOption.DurationForEachSlide = 2;

            // MP4 形式で動画を保存
            presentation.SaveToFile(outputFile, FileFormat.MP4);

            // リソースを解放
            presentation.Dispose();
        }
    }
}

コード実行後の処理:

  • PPTX ファイルがメモリに読み込まれる
  • 各スライドが個別の動画フレームとしてレンダリングされる
  • FFmpeg がフレームを組み合わせて最終的な MP4 ファイルを生成
  • サポートされているアニメーション、トランジション、埋め込み動画がエクスポート中に保持される

以下は、サンプルの PowerPoint プレゼンテーションと変換後の動画出力です。

入力:PowerPoint プレゼンテーション

PPTX から MP4 動画変換用の PowerPoint プレゼンテーション

出力:変換された MP4 動画

PowerPoint から動画へのデモ

上記のプレビューをクリックすると、トランジションとアニメーションを保持しながら PowerPoint スライドが MP4 動画に変換される様子が確認できます。

コア API の動作原理

この例では、いくつかの主要な API メソッドを使用しています:

  • LoadFromFile() – PowerPoint プレゼンテーションをメモリに読み込む
  • SaveToVideoOption – FFmpeg のパスと再生設定を構成
  • Fps – 動画の滑らかさを制御
  • DurationForEachSlide – 各スライドの表示時間を制御
  • SaveToFile() – 最終的な動画ファイルをエクスポート
  • Dispose() – 変換後にシステムリソースを解放

この基本的なワークフローは、ほとんどの標準的な PowerPoint から動画への変換タスクに対応できます。他の形式やカスタマイズオプションが必要な場合は、以下の高度なシナリオを参照してください。

静的な共有形式が必要な場合は、C# で PowerPoint プレゼンテーションを画像(JPG/PNG)に変換して、配布と Web 表示を容易にすることも可能です。


4. C# におけるその他の PowerPoint 動画変換オプション

基本的な例はほとんどのシナリオに対応しますが、一部のアプリケーションでは異なる出力形式、カスタム再生設定、または一括変換ワークフローが必要になる場合があります。

PowerPoint を WMV に変換

MP4 が最も広く使用されている動画形式ですが、一部のレガシーエンタープライズシステムや Windows ベースの環境では WMV 出力が必要となる場合があります。

PowerPoint ファイルを WMV としてエクスポートするには、出力ファイルの拡張子を変更するだけです:

using Spire.Presentation;

// Presentation オブジェクトを作成してファイルを読み込む
Presentation presentation = new Presentation();
presentation.LoadFromFile("TrainingSlides.pptx");

// FFmpeg のパスを指定して動画エクスポートオプションを設定
presentation.SaveToVideoOption = new SaveToVideoOption(
    @"D:\tools\ffmpeg\bin"
);

// WMV 形式で動画を保存
presentation.SaveToFile("TrainingVideo.wmv", FileFormat.WMV);

// リソースを解放
presentation.Dispose();

動画設定のカスタマイズ

プレゼンテーションに複雑なアニメーションが含まれている場合や、特定の再生タイミングが必要な場合は、フレームレートとスライド持続時間の設定を調整できます。

using Spire.Presentation;

// Presentation オブジェクトを作成してファイルを読み込む
Presentation presentation = new Presentation();
presentation.LoadFromFile("MarketingPitch.pptx");

// FFmpeg のパスを指定して動画エクスポートオプションを設定
presentation.SaveToVideoOption = new SaveToVideoOption(
    @"D:\tools\ffmpeg\bin"
);

// より滑らかな再生のために FPS を高く設定
presentation.SaveToVideoOption.Fps = 60;

// 各スライドの表示時間を長く設定
presentation.SaveToVideoOption.DurationForEachSlide = 10;

// HD 品質の MP4 動画として保存
presentation.SaveToFile("MarketingPitch_HD.mp4", FileFormat.MP4);

// リソースを解放
presentation.Dispose();

動画設定リファレンス

設定項目 デフォルト 最大値 目的
Fps 30 60 再生の滑らかさを制御
DurationForEachSlide 5 秒 5 分 スライド表示時間を制御

高い値を設定すると、処理時間と一時ストレージの使用量が増加する可能性があります。

複数の PPTX ファイルを一括変換

一括変換は、複数のプレゼンテーションを自動的に処理する必要がある LMS プラットフォーム、エンタープライズレポートシステム、ドキュメント自動化ワークフローで有用です。

using Spire.Presentation;
using System.IO;

// FFmpeg のパスを設定
string ffmpegPath = @"D:\tools\ffmpeg\bin";
// 入力フォルダと出力フォルダのパスを設定
string inputFolder = @"C:\Presentations\";
string outputFolder = @"C:\Videos\";

// 入力フォルダ内のすべての PPTX ファイルを取得
string[] pptxFiles = Directory.GetFiles(inputFolder, "*.pptx");

// 各ファイルを順番に処理
foreach (string inputFile in pptxFiles)
{
    // ファイル名から拡張子を除いた部分を取得
    string fileName = Path.GetFileNameWithoutExtension(inputFile);
    // 出力ファイルのパスを構築
    string outputFile = Path.Combine(outputFolder, fileName + ".mp4");

    // Presentation オブジェクトを作成してファイルを読み込む
    Presentation presentation = new Presentation();
    presentation.LoadFromFile(inputFile);

    // 動画エクスポートオプションを設定
    presentation.SaveToVideoOption = new SaveToVideoOption(ffmpegPath);
    presentation.SaveToVideoOption.Fps = 30;
    presentation.SaveToVideoOption.DurationForEachSlide = 3;

    // MP4 形式で動画を保存
    presentation.SaveToFile(outputFile, FileFormat.MP4);
    // リソースを解放
    presentation.Dispose();
}

このアプローチにより、Microsoft PowerPoint で手動エクスポートすることなく、大規模な PowerPoint から動画への変換ワークフローを自動化できます。

変換前に C# で PowerPoint プレゼンテーションを編集して、結果として生成される動画のレイアウトとアニメーション効果を改善することも可能です。


5. サポートされているトランジションとアニメーション

PowerPoint から動画への変換过程中、Spire.Presentation は主要な視覚効果を保持して、出力動画が元のプレゼンテーション体験にできるだけ近くなるようにします。

スライドトランジション

PowerPoint のスライドトランジションは、動画生成中にレンダリングされて、スライド間のスムーズな視覚フローを維持します。

以下のトランジションがサポートされています:

  • フェード
  • プッシュ
  • ワイプ(上、下、左、右)
  • リビール
  • カバー
  • スプリット
  • ディゾルブ
  • 時計回りクロック

これらのトランジションはフレームレンダリング中に適用され、最終的な動画で自然なスライド進行をシミュレートします。

アニメーション効果

アニメーションは動画生成中に処理およびレンダリングされ、PowerPoint の再生動作をシミュレートします。

開始アニメーション:

  • フライイン
  • フロートイン
  • 表示
  • フェード
  • スプリット
  • ワイプ

終了アニメーション:

  • フライアウト
  • フロートアウト
  • 非表示
  • フェード
  • スプリット
  • ワイプ

アニメーションシーケンスは単一の再生ユニットとして処理され、最終的な動画で一貫したレンダリングを保証します。

その他の機能

  • 埋め込み動画

PowerPoint スライド内の埋め込みメディアはエクスポートされた動画に含まれ、マルチメディアコンテンツを含むプレゼンテーションに適しています。

  • 自動持続時間処理

スライドタイミングとアニメーションの持続時間は、変換中に自動的に解釈され、最終的な動画出力で正確な再生を保証します。

  • クロスプラットフォームサポート

変換プロセスは Windows と Linux の両方の環境で実行可能であり、サーバーサイド自動化とエンタープライズワークフローに適しています。


6. 一般的な注意点

PowerPoint プレゼンテーションを動画に変換する際、出力品質やランタイム実行に影響を与える可能性のあるいくつかの一般的な問題があります。これらの問題を把握しておくことで、本番環境でのよりスムーズな変換プロセスが保証されます。

FFmpeg パスが見つからない

動画エクスポートプロセスは、最終的な MP4 または WMV ファイルをエンコードするために FFmpeg に依存しています。

FFmpeg のパスが正しく構成され、FFmpeg 実行ファイルを含む bin ディレクトリを指していることを確認してください。

Windows の場合、通常は以下のようになります:

D:\tools\ffmpeg\bin

FFmpeg のパスが正しくないかアクセスできない場合、動画エクスポートプロセスはランタイムで失敗します。

ディスク容量不足

PowerPoint から動画への変換には、スライドを中間フレームにレンダリングしてから最終的な動画ファイルにエンコードするプロセスが含まれます。

その結果、以下の要因に応じてディスク使用量が大幅に増加する可能性があります:

  • スライド数
  • スライド持続時間
  • フレームレート(FPS)
  • プレゼンテーションの解像度とコンテンツの複雑さ

高品質または長時間のプレゼンテーションの場合、一時ディスク使用量が相当になる可能性があります。大量の一括変換を処理する前に、十分な空きディスク容量を確保することをお勧めします。

サポートされていない、または一貫性のないトランジション

一般的な PowerPoint トランジションのほとんどは変換中にサポートされます。ただし、一部の複雑または高度なトランジション効果は、Microsoft PowerPoint とまったく同じようにレンダリングされない場合があります。

そのような場合、最終的な動画はスライドフローを保持しますが、視覚効果は元のプレゼンテーションと比較して簡略化されて表示される可能性があります。

本番ワークフローで使用する前に、高度なトランジションを含むプレゼンテーションをテストすることをお勧めします。

フォントレンダリングの違い

PowerPoint プレゼンテーションはシステムにインストールされたフォントに依存しています。変換が実行される環境で必要なフォントが欠落している場合、最終的な動画のレイアウトまたはテキストの外観が変更される可能性があります。

一貫したレンダリングを保証するために:

  • 必要なフォントをシステムにインストール
  • 可能であれば広く利用可能な標準フォントを使用
  • ターゲットデプロイメント環境で出力を検証

これは多言語プレゼンテーションやサーバーサイド変換シナリオで特に重要です。


まとめ

本記事では、Spire.Presentation を使用して C# で PowerPoint プレゼンテーションを MP4 および WMV 動画に変換する方法を解説しました。Spire API を活用することで、開発者はカスタマイズ可能なフレームレート、スライド持続時間、トランジション保持を備えた動画生成を自動化できます。

動画変換に加え、Spire.Presentation はスライド編集、メディア抽出、プレゼンテーション生成などのタスクにも使用でき、より広範なドキュメント自動化ワークフローに有用です。

制限なしで全機能を評価したい場合は、一時ライセンスを申請できます。


よくある質問

Microsoft PowerPoint なしで PowerPoint を MP4 に変換できますか?

はい。Spire.Presentation は独立して変換を実行し、Microsoft PowerPoint のインストールを必要としません。

アニメーションは動画で保持されますか?

はい、多くの一般的なスライドトランジションと開始/終了アニメーションは変換中に保持されます。

サポートされている動画形式は何ですか?

現在、動画エクスポートには MP4 と WMV 形式がサポートされています。

Spire.Presentation はサーバーサイドアプリケーションに適していますか?

はい。Spire.Presentation はサーバー環境をサポートし、自動化されたドキュメント処理ワークフローで広く使用されています。

動画変換にはどのくらいのディスク容量が必要ですか?

動画生成では一時画像フレームが作成されます。60 FPS で 5 分の持続時間を持つ 5 スライドのプレゼンテーションの場合、約 25GB の一時ストレージが必要になる可能性があります。

Read 11 times