可以python pptx模块插入视频



根据文档,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)

感谢

UPDATE:python-pptx现在支持插入视频(在许多情况下可能使用相同的方法插入音频)。


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

我们已经研究过这个功能,但它非常复杂,因为不同的视频格式需要对插入嵌入视频对象周围的XML中的元数据进行大量未记录的自定义。我还记得,当视频不运行时,需要一种方法从视频中获得静态图像(可能是第一帧),并插入到它的位置,而上次我们查看时,Python中还没有现成的此类库。

总之,简短的答案是否定的,它还没有得到支持。除非有积极的贡献者或赞助商,否则它不太可能很快到来。对不起,我没有更高兴的消息给你:(

该库现在有一个向幻灯片添加视频的功能:

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

我最终将我的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')

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

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

pres=pptx。Presentation()

blank_slide=pres.slides.add_slide(pres.slide_layouts[6])movie_path=";路径";

movie_shape=blank_slide.shapes.add_movie(left=Cm(5),top=Cm;"image_path";,mime_type=";视频/mp4")

movie_shape.media_type=PP_media_type。电影

pres.save("pres.pptx")