تحويل PowerPoint إلى فيديو

من خلال تحويل عرض PowerPoint الخاص بك إلى فيديو، ستحصل على

  • زيادة في الوصول: جميع الأجهزة (بغض النظر عن النظام) مزودة بلاعب فيديو بشكل افتراضي مقارنة بتطبيقات فتح العروض التقديمية، لذا يجد المستخدمون أنه من الأسهل فتح أو تشغيل الفيديوهات.
  • وصول أكبر: من خلال الفيديوهات، يمكنك الوصول إلى جمهور كبير واستهدافهم بمعلومات قد تبدو مملة في عرض تقديمي. تشير معظم الاستطلاعات والإحصائيات إلى أن الناس يشاهدون ويستهلكون الفيديوهات أكثر من أشكال المحتوى الأخرى، ويفضلون عمومًا مثل هذا المحتوى.

تحويل PowerPoint إلى فيديو في Aspose.Slides

في Aspose.Slides 24.4، قمنا بتنفيذ دعم تحويل العروض التقديمية إلى فيديو.

  • استخدم Aspose.Slides لإنشاء مجموعة من الإطارات (من شرائح العرض التقديمي) التي تتوافق مع FPS معينة (الإطارات في الثانية)
  • استخدم أداة خارجية مثل ffmpeg لإنشاء فيديو بناءً على الإطارات.

تحويل PowerPoint إلى فيديو

  1. استخدم أمر تثبيت pip لإضافة Aspose.Slides إلى مشروعك:
    • قم بتشغيل pip install Aspose.Slides==24.4.0
  2. قم بتنزيل ffmpeg هنا أو قم بتثبيته عبر مدير الحزم.
  3. تأكد من أن ffmpeg موجود في PATH، وإلا قم بتشغيل ffmpeg باستخدام المسار الكامل للثنائي (مثل C:\ffmpeg\ffmpeg.exe على Windows أو /opt/ffmpeg/ffmpeg على Linux)
  4. قم بتشغيل الكود الخاص بتحويل PowerPoint إلى فيديو.

يوضح هذا الكود بلغة Python كيفية تحويل عرض تقديمي (يحتوي على شكل ومؤثرين حركيين) إلى فيديو:

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 أيضًا الرسوم المتحركة للنصوص. لذا قمنا بتحريك الفقرات على العناصر، التي ستظهر واحدة تلو الأخرى (مع تأخير محدد بساعة):

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
بان غير مدعوم مدعوم
عجلة فيريس مدعوم مدعوم
حزام ناقل غير مدعوم مدعوم
تدوير غير مدعوم مدعوم
مدار غير مدعوم مدعوم
التحليق مدعوم مدعوم