MS PowerPointを使用すると、オーディオやビデオなどのメディア要素をプレゼンテーションに追加できます。ビデオフレームは、ローカルファイルまたはWebソースからのビデオクリップを挿入するために使用されます。この記事では、PythonでPowerPointPPTまたはPPTXにビデオフレームを追加する方法を学習します。また、YouTubeなどのWebソースからビデオを埋め込み、PPTからビデオを抽出する方法についても説明します。
PowerPointPPTにビデオフレームを追加するPythonライブラリ
PowerPoint PPT / PPTXにビデオフレームを追加するには、Aspose.Slides for Python via .NETを使用します。ライブラリは、PowerPointプレゼンテーションを作成および操作するための完全なパッケージを提供します。次のpipコマンドを使用して、PyPIからインストールできます。
> pip install aspose.slides
PythonでPowerPointPPTにビデオフレームを追加する
ローカルストレージまたはYouTubeなどのWebソースからビデオを追加できます。次のセクションでは、コードサンプルを使用して両方のシナリオを示します。
ローカルファイルからビデオを挿入する
以下は、PythonでPowerPointPPTにビデオフレームを追加する手順です。
- まず、PPT / PPTXファイルをロードするか、Presentationクラスを使用して新しいファイルを作成します。
- 次に、目的のスライドの参照を取得します。
- Presentation.videos.add \ video()メソッドを使用してビデオコレクションにビデオを追加し、その参照を取得します。
- Slide.shapes.add \ video \ frame()メソッドを使用してスライドにビデオフレームを追加し、その参照を取得します。
- ビデオの再生モードと音量を設定します。
- 最後に、Presentation.save(string, SaveFormat)メソッドを使用してプレゼンテーションを保存します。
次のコードサンプルは、PythonのPowerPointPPTにビデオを埋め込む方法を示しています。
import aspose.slides as slides
# load presentation
with slides.Presentation("presentation.pptx") as presentation:
# select slide
slide = presentation.slides[0]
# load video file
with open("Wildlife.mp4", "rb") as in_file:
# add video to presentation
vid = presentation.videos.add_video(in_file)
# add video frame
vf = slide.shapes.add_video_frame(50, 150, 300, 350, vid)
# set video to video frame
vf.embedded_video = vid
# set play mode and volume of the video
vf.play_mode = slides.VideoPlayModePreset.AUTO
vf.volume = slides.AudioVolumeMode.LOUD
# save presentation
presentation.save("add-video-frame.pptx", slides.export.SaveFormat.PPTX)
WebソースからPowerPointPPTにビデオを埋め込む
WebソースからPowerPointPPTにビデオを追加することもできます。デモンストレーションのために、PythonのPowerPointPPTにYouTubeビデオを埋め込みましょう。
- まず、PPT / PPTXファイルをロードするか、Presentationクラスを使用して新しいファイルを作成します。
- 次に、目的のスライドの参照を取得します。
- Slide.shapes.add \ video \ frame()メソッドを使用してURLからYouTubeビデオを追加し、その参照を取得します。
- ビデオのサムネイルを設定します。
- 最後に、Presentation.save(string, SaveFormat)メソッドを使用してプレゼンテーションを保存します。
次のコードサンプルは、PythonでYouTubeビデオをPowerPointPPTに埋め込む方法を示しています。
import aspose.slides as slides
from urllib.request import urlopen
# load presentation
with slides.Presentation("presentation.pptx") as presentation:
#add video frame
videoFrame = presentation.slides[0].shapes.add_video_frame(10, 10, 427, 240, "https://www.youtube.com/embed/s5JbfQZ5Cc0")
videoFrame.play_mode = slides.VideoPlayModePreset.AUTO
# load thumbnail
thumbnail_uri = "http://img.youtube.com/vi/s5JbfQZ5Cc0/hqdefault.jpg"
f = urlopen(thumbnail_uri)
videoFrame.picture_format.picture.image = presentation.images.add_image(f.read())
# save presentation
presentation.save("add-video-frame-from-web.pptx", slides.export.SaveFormat.PPTX)
PythonでPowerPointプレゼンテーションからビデオを抽出する
PowerPointプレゼンテーションに追加されたビデオを抽出したい場合があります。これを実現するための手順は次のとおりです。
- まず、Presentationクラスを使用してPPT/PPTXファイルをロードします。
- 次に、Presentation.slidesコレクションのスライドをループします。
- スライドごとに、そのスライドが持つ図形のコレクションをループします。
- shapeがVideoFrameの場合は、埋め込まれたビデオを抽出して保存します。
次のコードサンプルは、PythonでPowerPointPPTからビデオを抽出する方法を示しています。
import aspose.slides as slides
# load presentation
with slides.Presentation("presentation.pptx") as presentation:
# loop through slides
for slide in presentation.slides:
# loop through shapes
for shape in slide.shapes:
# check type of the shape
if type(shape) is slides.VideoFrame:
# get content type
content_type = shape.embedded_video.content_type
# get video data
buffer = shape.embedded_video.binary_data
# save video
with open("extracted-video." + content_type[content_type.rfind('/') + 1:len(content_type)], "wb") as stream:
stream.write(buffer)
無料ライセンスを取得する
一時ライセンスを取得することで、評価の制限なしに.NET経由でAspose.Slides for Pythonを使用できます。
結論
この記事では、PythonでPowerPoint PPT/PPTXにビデオフレームを追加する方法を学びました。ファイルまたはYouTubeなどのWebソースからビデオを埋め込む方法について説明しました。さらに、プログラムでプレゼンテーションからビデオを抽出する方法を見てきました。さらに、ドキュメントにアクセスして、Python用のAspose.Slidesの詳細を調べることができます。また、フォーラムにクエリを投稿することもできます。
関連項目
- PythonでPowerPointファイルを作成する
- PythonでPPTXをPDFに変換する
- PythonでPPTをPNGに変換する
- PythonでのPPT/PPTXからHTMLへ
- PythonのPowerPointPPTに透かしを追加する
情報:このサービスを使用すると、プレゼンテーションを魅力的で魅力的なビデオに変換できるため、Aspose FREE PowerPoint toVideoコンバーターを確認することをお勧めします。