PowerPointを動画に変換
PowerPointプレゼンテーションを動画に変換すると、次のメリットがあります。
- アクセシビリティの向上: プレゼンテーションを開くアプリケーションと比べて、すべてのデバイス(プラットフォームに関係なく)はデフォルトで動画プレーヤーを搭載しているため、ユーザーは動画を開くまたは再生するのが容易です。
- リーチの拡大: 動画を通じて、プレゼンテーションでは退屈に感じるかもしれない情報を、大規模なオーディエンスに届けることができます。多くの調査や統計によれば、人々は他の形式のコンテンツよりも動画を視聴し消費することが多く、一般的にそのようなコンテンツを好みます。
Aspose.SlidesにおけるPowerPointから動画への変換
Aspose.Slides 24.4では、プレゼンテーションから動画への変換のサポートを実装しました。
- Aspose.Slidesを使用して、特定のFPS(フレーム毎秒)に対応するフレームのセット(プレゼンテーションスライドから)を生成します。
- ffmpegのようなサードパーティユーティリティを使用して、フレームに基づいて動画を作成します。
PowerPointを動画に変換
- pip installコマンドを使用して、Aspose.Slidesをプロジェクトに追加します:
pip install Aspose.Slides==24.4.0
を実行します。
- ffmpegをこちらからダウンロードするか、パッケージマネージャーを介してインストールします。
- ffmpegが
PATH
に含まれていることを確認してください。そうでない場合は、バイナリへのフルパスを使用してffmpegを起動します(例:WindowsではC:\ffmpeg\ffmpeg.exe
、Linuxでは/opt/ffmpeg/ffmpeg
)。 - PowerPointから動画へのコードを実行します。
このPythonコードは、(図と2つのアニメーション効果を含む)プレゼンテーションを動画に変換する方法を示しています:
import aspose.slides as slides
import subprocess
with slides.Presentation() as presentation:
smile = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.SMILEY_FACE, 110, 20, 500, 500)
effect_in = presentation.slides[0].timeline.main_sequence.add_effect(smile, slides.animation.EffectType.FLY, slides.animation.EffectSubtype.TOP_LEFT, slides.animation.EffectTriggerType.AFTER_PREVIOUS)
effect_out = presentation.slides[0].timeline.main_sequence.add_effect(smile, slides.animation.EffectType.FLY, slides.animation.EffectSubtype.BOTTOM_RIGHT, slides.animation.EffectTriggerType.AFTER_PREVIOUS)
effect_in.timing.duration = 2
effect_out.preset_class_type = slides.animation.EffectPresetClassType.EXIT
fps = 33
with slides.export.PresentationEnumerableFramesGenerator(presentation, fps) as frames_stream:
for frame_args in frames_stream.enumerate_frames(presentation.slides):
frame = "frame_{:04d}.png".format(frame_args.frames_generator.frame_index)
frame_args.get_frame().save(frame)
cmd_line = ["ffmpeg", "-r", str(fps), "-i", "frame_%04d.png", "-y", "-s", "720x540", "-pix_fmt", "yuv420p", "smile.webm"]
subprocess.call(cmd_line)
動画効果
スライド上のオブジェクトにアニメーションを適用し、スライド間にトランジションを使用することができます。
アニメーションとトランジションは、スライドショーをより魅力的で興味深いものにします。そして、動画でも同じことができます。前のプレゼンテーション用のコードに別のスライドとトランジションを追加しましょう:
import aspose.pydrawing as drawing
# スマイルシェイプを追加しアニメーションします
# ...
# 新しいスライドとアニメーションされたトランジションを追加します
new_slide = presentation.slides.add_empty_slide(presentation.slides[0].layout_slide)
new_slide.background.type = slides.BackgroundType.OWN_BACKGROUND
new_slide.background.fill_format.fill_type = slides.FillType.SOLID
new_slide.background.fill_format.solid_fill_color.color = drawing.Color.indigo
new_slide.slide_show_transition.type = slides.TransitionType.PUSH
Aspose.Slidesはテキストのアニメーションもサポートしています。そのため、オブジェクト上の段落をアニメーション化し、1秒の遅延で次々に表示されるようにします:
import aspose.slides as slides
import subprocess
with slides.Presentation() as presentation:
# テキストとアニメーションを追加します
auto_shape = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 210, 120, 300, 300)
para1 = slides.Paragraph()
para1.portions.add(slides.Portion("Aspose Slides for .NET"))
para2 = slides.Paragraph()
para2.portions.add(slides.Portion("テキスト付きPowerPointプレゼンテーションを動画に変換"))
para3 = slides.Paragraph()
para3.portions.add(slides.Portion("段落ごとに"))
auto_shape.text_frame.paragraphs.add(para1)
auto_shape.text_frame.paragraphs.add(para2)
auto_shape.text_frame.paragraphs.add(para3)
auto_shape.text_frame.paragraphs.add(slides.Paragraph())
effect = presentation.slides[0].timeline.main_sequence.add_effect(para1, slides.animation.EffectType.APPEAR, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.AFTER_PREVIOUS)
effect2 = presentation.slides[0].timeline.main_sequence.add_effect(para2, slides.animation.EffectType.APPEAR, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.AFTER_PREVIOUS)
effect3 = presentation.slides[0].timeline.main_sequence.add_effect(para3, slides.animation.EffectType.APPEAR, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.AFTER_PREVIOUS)
effect4 = presentation.slides[0].timeline.main_sequence.add_effect(para3, slides.animation.EffectType.APPEAR, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.AFTER_PREVIOUS)
effect.timing.trigger_delay_time = 1
effect2.timing.trigger_delay_time = 1
effect3.timing.trigger_delay_time = 1
effect4.timing.trigger_delay_time = 1
# フレームを動画に変換します
fps = 33
with slides.export.PresentationEnumerableFramesGenerator(presentation, fps) as frames_stream:
for frame_args in frames_stream.enumerate_frames(presentation.slides):
frame = "frame_{:04d}.png".format(frame_args.frames_generator.frame_index)
frame_args.get_frame().save(frame)
cmd_line = ["ffmpeg", "-r", str(fps), "-i", "frame_%04d.png", "-y", "-s", "720x540", "-pix_fmt", "yuv420p", "text_animation.webm"]
subprocess.call(cmd_line)
動画変換クラス
PowerPointから動画への変換タスクを実行できるように、Aspose.SlidesはPresentationEnumerableAnimationsGeneratorを提供します。
PresentationEnumerableAnimationsGeneratorを使用すると、後で作成される動画のフレームサイズとFPS値(フレーム毎秒)をコンストラクターを介して設定できます。プレゼンテーションのインスタンスを渡すと、Presentation.SlideSize
が使用されます。
プレゼンテーション内のすべてのアニメーションを同時に再生するには、PresentationEnumerableAnimationsGenerator.enumerate_framesメソッドを使用します。このメソッドはスライドのコレクションを取り、EnumerableFrameArgsを順に取得できるようにします。その後、EnumerableFrameArgs.get_frame()を使用して動画フレームを取得できます:
import aspose.slides as slides
with slides.Presentation("animated.pptx") as presentation:
fps = 33
with slides.export.PresentationEnumerableFramesGenerator(presentation, fps) as frames_stream:
for frame_args in frames_stream.enumerate_frames(presentation.slides):
frame_args.get_frame().save(f"frame_{frame_args.frames_generator.frame_index:04d}.png")
生成されたフレームは動画を生成するためにコンパイルできます。詳細はPowerPointを動画に変換のセクションを参照ください。
サポートされているアニメーションと効果
登場:
アニメーションタイプ | Aspose.Slides | PowerPoint |
---|---|---|
現れる | ||
フェード | ||
フライイン | ||
フロートイン | ||
スプリット | ||
ワイプ | ||
形状 | ||
ホイール | ||
ランダムバー | ||
成長&回転 | ||
ズーム | ||
スイベル | ||
バウンス |
強調:
アニメーションタイプ | Aspose.Slides | PowerPoint |
---|---|---|
パルス | ||
カラーパルス | ||
ティーター | ||
スピン | ||
成長/縮小 | ||
脱色 | ||
暗くする | ||
明るくする | ||
透明度 | ||
オブジェクトカラー | ||
補色 | ||
ラインカラー | ||
フィルカラー |
退出:
アニメーションタイプ | Aspose.Slides | PowerPoint |
---|---|---|
消える | ||
フェード | ||
フライアウト | ||
フロートアウト | ||
スプリット | ||
ワイプ | ||
形状 | ||
ランダムバー | ||
縮小&回転 | ||
ズーム | ||
スイベル | ||
バウンス |
モーションパス:
アニメーションタイプ | Aspose.Slides | PowerPoint |
---|---|---|
ライン | ||
アーク | ||
ターン | ||
形状 | ||
ループ | ||
カスタムパス |
サポートされているスライド遷移効果
穏やか:
アニメーションタイプ | Aspose.Slides | PowerPoint |
---|---|---|
モーフ | ||
フェード | ||
プッシュ | ||
プル | ||
ワイプ | ||
スプリット | ||
公開 | ||
ランダムバー | ||
形状 | ||
露わにする | ||
カバー | ||
フラッシュ | ||
ストリップス |
エキサイティング:
アニメーションタイプ | Aspose.Slides | PowerPoint |
---|---|---|
倒れる | ||
ドレープ | ||
カーテン | ||
風 | ||
プレステージ | ||
破損 | ||
圧縮 | ||
剥がす | ||
ページカール | ||
飛行機 | ||
折り紙 | ||
溶解 | ||
チェッカーボード | ||
ブラインド | ||
時計 | ||
波紋 | ||
ハニカム | ||
グリッター | ||
渦 | ||
シュレッド | ||
スイッチ | ||
フリップ | ||
ギャラリー | ||
キューブ | ||
ドア | ||
箱 | ||
コーム | ||
ズーム | ||
ランダム |
ダイナミックコンテンツ:
アニメーションタイプ | Aspose.Slides | PowerPoint |
---|---|---|
パン | ||
観覧車 | ||
コンベア | ||
回転 | ||
軌道 | ||
通過する |