1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonでPowerPointファイルから音声と動画を抽出する方法

Posted at

PowerPointプレゼンテーションに含まれる音声や動画などのメディアコンテンツを再利用することは、非常に価値があります。独立した音声ファイルを作成したり、動画を抽出してオンライン配信したり、将来の使用のためにアーカイブしたりする際に、プレゼンテーションからこれらのメディアファイルを抽出することで、マルチメディアコンテンツの柔軟な再利用が可能になります。このプロセスはPythonを使って簡単に実行できます。

この記事では、Pythonを使用してPowerPointプレゼンテーションから音声と動画を抽出する方法を紹介します。

ここで使用する方法は、Spire.Presentation for Pythonライブラリを用います。PyPIからインストールできます:pip install Spire.Presentation

無料ライセンスの申請

PythonでPowerPointファイルから音声を抽出する

ライブラリ内のIShapeクラスは、PowerPointスライド内のコンテンツ要素を表し、IAudioクラスは音声形状を表します。プレゼンテーションから音声を抽出するためには、各スライド内の形状をループ処理し、その形状がIAudioオブジェクトかどうかを判定し、IAudio.Data.SaveToFile()メソッドを使用して音声ファイルとして保存します。

具体的な手順は次のとおりです:

  1. 必要なモジュールをインポートします。
  2. Presentationオブジェクトを作成します。
  3. Presentation.LoadFromFile()メソッドを使用してPowerPointプレゼンテーションを読み込みます。
  4. プレゼンテーション内のスライドをループし、そのスライド内の全ての形状をループします。
  5. 形状がIAudioクラスのオブジェクトかどうかを確認します。該当する場合は、IAudio.Data.SaveToFile()メソッドを使用して音声データをファイルに保存します。
  6. リソースを解放します。

コード例

from spire.presentation import *
import mimetypes

# Presentationオブジェクトを作成
presentation = Presentation()

# PowerPointファイルを読み込む
presentation.LoadFromFile("Sample.pptx")

i = 1
# すべてのスライドを反復処理
for slide in presentation.Slides:
    # スライド内のすべての図形を反復処理
    for shape in slide.Shapes:
        # 図形がオーディオかどうかを確認
        if isinstance(shape, IAudio):
            # オーディオデータを取得
            audioData = shape.Data
            # オーディオデータをファイルに保存
            audioData.SaveToFile(f"output/Audio/Audio{i}" + f"{mimetypes.guess_extension(audioData.ContentType)}")
            i += 1

presentation.Dispose()

結果
PythonでPowerPointファイルから音声を抽出する

PythonでPowerPointファイルから動画を抽出する

同様に、ライブラリ内のIVideoクラスはプレゼンテーション内の動画形状を表します。音声を抽出する場合と同様の手順で、PowerPointファイル内の動画を抽出できます。以下がその手順です:

  1. 必要なモジュールをインポートします。
  2. Presentationオブジェクトを作成します。
  3. Presentation.LoadFromFile()メソッドを使用してPowerPointプレゼンテーションを読み込みます。
  4. プレゼンテーション内のスライドをループし、そのスライド内の全ての形状をループします。
  5. 形状がIVideoクラスのオブジェクトかどうかを確認します。該当する場合は、IVideo.Data.SaveToFile()メソッドを使用して動画データをファイルに保存します。
  6. リソースを解放します。

コード例

from spire.presentation import *
import mimetypes

# Presentationオブジェクトを作成
presentation = Presentation()

# PowerPointファイルを読み込む
presentation.LoadFromFile("Sample.pptx")

i = 1
# すべてのスライドを反復処理
for slide in presentation.Slides:
    # すべての図形を反復処理
    for shape in slide.Shapes:
        # 図形がビデオかどうかを確認
        if isinstance(shape, IVideo):
            # ビデオデータを取得
            videoData = shape.EmbeddedVideoData
            # ビデオデータをファイルに保存
            videoData.SaveToFile(f"output/Videos/Video{i}" + f"{mimetypes.guess_extension(videoData.ContentType)}")
            i += 1

presentation.Dispose()

結果
PythonでPowerPointファイルから動画を抽出する

この記事では、Pythonを使用してPowerPointプレゼンテーションから音声と動画を抽出する方法を解説しました。

PowerPointプレゼンテーションの処理に関するさらなるテクニックは、Spire.Presentation for Pythonのチュートリアルをご覧ください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?