python-pptx模块可以插入视频吗?

时间:2015-03-05 15:48:58

标签: python video powerpoint

根据documentation,python-pptx可以插入视频,但是,文档没有给出很好的例子。任何人都有任何代码片段将 video1.avi 添加到我的pptx?

from pptx import Presentation
pptx1 = Presentation()
slide = pptx1.slides.add_slide(blank_slide_layout)

不确定我需要什么输入

slide.placeholders.element.add_placeholder(id_,name,ph_type, orient, sz,idx)

感谢

4 个答案:

答案 0 :(得分:1)

我不确定文档中说它可以插入视频的位置,但是如果你能引用某个特定位置我会修复它。

我们已经看过这个功能,但事实证明它非常复杂,因为不同的视频格式需要对嵌入到嵌入式视频对象周围的XML中的元数据进行大量未记录的自定义。另外我还记得有一种方法需要一种方法来从视频中获取静止图像(可能是第一帧),以便在它没有运行的时候插入它的位置,而且上次我们查看的时候,这些东西的库在Python中并不容易获得。 / p>

无论如何,简短的回答是否定的,它还没有得到支持。除非有积极的贡献者或赞助商,否则不太可能很快到来。对不起,我没有更快乐的消息:(

答案 1 :(得分:1)

我最终将我的avi视频转换为GIF动画,并成功插入了pptx

aviname = 'vid1.avi'
from moviepy.editor import VideoFileClip
aviname = 'vid1.avi'
clip = VideoFileClip(aviname)
clip.write_gif(os.path.splitext(aviname)[0]+'.gif')

答案 2 :(得分:1)

该库现在具有将视频添加到幻灯片的功能:

slide.shapes.add_movie(video_file, x_pos, y_pos, width, height, poster_frame_image=thumbnail_image_file)

答案 3 :(得分:0)

此视频可以帮助您: https://www.youtube.com/watch?v=5a1kH996DJM&t=315s 他说阿拉伯语。代码如下:

导入pptx 从 pptx.utils 导入 Cm 从 pptx.enum.shapes 导入 PP_MEDIA_TYPE

pres = pptx.Presentation()

blank_slide = pres.slides.add_slide(pres.slide_layouts[6]) 电影路径 = "路径"

movie_shape = blank_slide.shapes.add_movie(left = Cm(5), top = Cm(5), width = Cm(10), height = Cm(10), poster_frame_image = "image_path", mime_type = "video/ mp4")

movie_shape.media_type = PP_MEDIA_TYPE.MOVIE

pres.save("pres.pptx")