Python में PowerPoint प्रस्तुतियों को वीडियो में बदलें

परिचय

PowerPoint या OpenDocument प्रस्तुति को वीडियो में बदलकर, आप प्राप्त करते हैं:

बढ़ी हुई पहुँच: सभी उपकरण, प्लेटफ़ॉर्म की परवाह किए बिना, डिफ़ॉल्ट रूप से वीडियो प्लेयर से सुसज्जित होते हैं, जिससे उपयोगकर्ताओं के लिए पारंपरिक प्रस्तुति अनुप्रयोगों की तुलना में वीडियो खोलना या चलाना आसान हो जाता है।

विस्तृत पहुँच: वीडियो आपको बड़े दर्शक वर्ग तक पहुँचने और जानकारी को अधिक आकर्षक प्रारूप में प्रस्तुत करने में सक्षम बनाते हैं। सर्वेक्षण और आँकड़े दर्शाते हैं कि लोग अन्य रूपों की तुलना में वीडियो सामग्री को देखना और उपभोग करना पसंद करते हैं, जिससे आपका संदेश अधिक प्रभावशाली बनता है।

Aspose.Slides for Python 24.4 में, हमने प्रस्तुतीकरण को वीडियो में बदलने के लिए समर्थन लागू किया।

  • Aspose.Slides for Python का उपयोग करके निर्दिष्ट फ्रेम रेट (FPS) पर प्रस्तुति स्लाइड्स से फ्रेम उत्पन्न करें।
  • फिर, ffmpeg जैसे तृतीय‑पक्षीय यूटिलिटी का उपयोग करके इन फ्रेम्स को एक वीडियो में संकलित करें।

PowerPoint प्रस्तुति को वीडियो में बदलें

  1. अपने प्रोजेक्ट में Aspose.Slides for Python जोड़ने के लिए pip install कमांड का उपयोग करें: pip install aspose-slides==24.4.0
  2. ffmpeg को here से डाउनलोड करें या पैकेज मैनेजर के माध्यम से इंस्टॉल करें।
  3. सुनिश्चित करें कि ffmpeg PATH में है। अन्यथा, बाइनरी के पूर्ण पथ का उपयोग करके ffmpeg लॉन्च करें (उदाहरण के लिए, Windows पर C:\ffmpeg\ffmpeg.exe या Linux पर /opt/ffmpeg/ffmpeg)।
  4. PowerPoint‑to‑video रूपांतरण कोड चलाएँ।

यह Python कोड दिखाता है कि कैसे एक प्रस्तुति (जिसमें एक आकृति और दो एनीमेशन इफ़ेक्ट हैं) को वीडियो में बदला जाता है:

import aspose.slides as slides
import subprocess

with slides.Presentation() as presentation:
    slide = presentation.slides[0]

    smile_shape = slide.shapes.add_auto_shape(slides.ShapeType.SMILEY_FACE, 110, 20, 500, 500)

    effect_in = slide.timeline.main_sequence.add_effect(
        smile_shape,
        slides.animation.EffectType.FLY,
        slides.animation.EffectSubtype.TOP_LEFT,
        slides.animation.EffectTriggerType.AFTER_PREVIOUS)

    effect_out = slide.timeline.main_sequence.add_effect(
        smile_shape,
        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)

वीडियो प्रभाव

Aspose.Slides for Python का उपयोग करके PowerPoint प्रस्तुति को वीडियो में बदलते समय, आप आउटपुट की दृश्य गुणवत्ता को बढ़ाने के लिए विभिन्न वीडियो प्रभाव लागू कर सकते हैं। ये प्रभाव आपको अंतिम वीडियो में स्लाइड्स की उपस्थिति को स्मूथ ट्रांज़िशन, एनीमेशन और अन्य दृश्य तत्व जोड़कर नियंत्रित करने की अनुमति देते हैं। यह अनुभाग उपलब्ध वीडियो प्रभाव विकल्पों को दर्शाता है और उन्हें कैसे लागू किया जाए दिखाता है।

एनीमेशन और ट्रांज़िशन स्लाइडशो को अधिक आकर्षक और रोचक बनाते हैं — और वीडियो के लिए भी यही बात लागू होती है। चलिए पिछली प्रस्तुति के कोड में एक और स्लाइड और ट्रांज़िशन जोड़ते हैं:

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 for Python टेक्स्ट एनीमेशन का भी समर्थन करता है। इस उदाहरण में, हम ऑब्जेक्ट्स पर पैराग्राफ़ को एनीमेट करते हैं ताकि वे एक‑के‑बाद‑एक दिखाई दें, उनके बीच एक‑सेकंड का अंतराल हो:

import aspose.slides as slides
import subprocess

with slides.Presentation() as presentation:
    slide = presentation.slides[0]

    # टेक्स्ट और एनीमेशन जोड़ें।
    auto_shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 210, 120, 300, 300)
    para1 = slides.Paragraph()
    para1.portions.add(slides.Portion("Aspose.Slides for Python"))
    para2 = slides.Paragraph()
    para2.portions.add(slides.Portion("Convert a PowerPoint presentation with text to video"))

    para3 = slides.Paragraph()
    para3.portions.add(slides.Portion("paragraph by paragraph"))
    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 = slide.timeline.main_sequence.add_effect(
        para1,
        slides.animation.EffectType.APPEAR,
        slides.animation.EffectSubtype.NONE,
        slides.animation.EffectTriggerType.AFTER_PREVIOUS)

    effect2 = slide.timeline.main_sequence.add_effect(
        para2,
        slides.animation.EffectType.APPEAR,
        slides.animation.EffectSubtype.NONE,
        slides.animation.EffectTriggerType.AFTER_PREVIOUS)

    effect3 = slide.timeline.main_sequence.add_effect(
        para3,
        slides.animation.EffectType.APPEAR,
        slides.animation.EffectSubtype.NONE,
        slides.animation.EffectTriggerType.AFTER_PREVIOUS)

    effect4 = slide.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 for Python PresentationEnumerableFramesGenerator प्रदान करता है।

PresentationEnumerableFramesGenerator आपको उसके कंस्ट्रक्टर के माध्यम से वीडियो (जो बाद में बनाया जाएगा) के लिए फ्रेम आकार और FPS (फ़्रेम प्रति सेकंड) मान सेट करने की अनुमति देता है। यदि आप किसी प्रस्तुति का इंस्टेंस पास करते हैं, तो उसकी Presentation.SlideSize उपयोग की जाएगी।

सभी एनीमेशन को एक साथ चलाने के लिए, PresentationEnumerableFramesGenerator.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")

फिर उत्पन्न फ्रेम्स को एक वीडियो में संकलित किया जा सकता है। अधिक विवरण के लिए देखें Convert PowerPoint to Video अनुभाग।

समर्थित एनिमेशन और प्रभाव

Aspose.Slides for Python का उपयोग करके PowerPoint प्रस्तुति को वीडियो में बदलते समय यह समझना महत्वपूर्ण है कि आउटपुट में कौन‑से एनीमेशन और प्रभाव समर्थित हैं। Aspose.Slides फेड, फ़्लाई‑इन, ज़ूम और स्पिन जैसे सामान्य एंट्री, एग्जिट और इम्फेसिस प्रभावों की व्यापक रेंज का समर्थन करता है। हालांकि, कुछ उन्नत या कस्टम एनीमेशन पूरी तरह से संरक्षित नहीं रह सकते या अंतिम वीडियो में अलग दिख सकते हैं। यह अनुभाग समर्थित एनीमेशन और प्रभावों को दर्शाता है।

Entrance:

एनिमेशन प्रकार Aspose.Slides PowerPoint
Appear not supported supported
Fade supported supported
Fly In supported supported
Float In supported supported
Split supported supported
Wipe supported supported
Shape supported supported
Wheel supported supported
Random Bars supported supported
Grow & Turn not supported supported
Zoom supported supported
Swivel supported supported
Bounce supported supported

Emphasis:

एनिमेशन प्रकार Aspose.Slides PowerPoint
Pulse not supported supported
Color Pulse not supported supported
Teeter supported supported
Spin supported supported
Grow/Shrink not supported supported
Desaturate not supported supported
Darken not supported supported
Lighten not supported supported
Transparency not supported supported
Object Color not supported supported
Complementary Color not supported supported
Line Color not supported supported
Fill Color not supported supported

Exit:

एनिमेशन प्रकार Aspose.Slides PowerPoint
Disappear not supported supported
Fade supported supported
Fly Out supported supported
Float Out supported supported
Split supported supported
Wipe supported supported
Shape supported supported
Random Bars supported supported
Shrink & Turn not supported supported
Zoom supported supported
Swivel supported supported
Bounce supported supported

Motion Paths:

एनिमेशन प्रकार Aspose.Slides PowerPoint
Lines supported supported
Arcs supported supported
Turns supported supported
Shapes supported supported
Loops supported supported
Custom Path supported supported

समर्थित स्लाइड ट्रांज़िशन प्रभाव

स्लाइड ट्रांज़िशन प्रभाव वीडियो में स्लाइड्स के बीच सुगम और दृश्य रूप से आकर्षक परिवर्तन बनाने में महत्वपूर्ण भूमिका निभाते हैं। Aspose.Slides for Python विभिन्न सामान्य ट्रांज़िशन प्रभावों को समर्थन देता है जिससे आपकी मूल प्रस्तुति का प्रवाह और शैली सुरक्षित रहती है। यह अनुभाग यह दर्शाता है कि रूपांतरण प्रक्रिया के दौरान कौन‑से ट्रांज़िशन प्रभाव समर्थित हैं।

सूक्ष्म:

एनिमेशन प्रकार Aspose.Slides PowerPoint
Morph not supported supported
Fade supported supported
Push supported supported
Pull supported supported
Wipe supported supported
Split supported supported
Reveal not supported supported
Random Bars supported supported
Shape not supported supported
Uncover not supported supported
Cover supported supported
Flash supported supported
Strips supported supported

रोचक:

एनिमेशन प्रकार Aspose.Slides PowerPoint
Fall Over not supported supported
Drape not supported supported
Curtains not supported supported
Wind not supported supported
Prestige not supported supported
Fracture not supported supported
Crush not supported supported
Peel Off not supported supported
Page Curl not supported supported
Airplane not supported supported
Origami not supported supported
Dissolve supported supported
Checkerboard not supported supported
Blinds not supported supported
Clock supported supported
Ripple not supported supported
Honeycomb not supported supported
Glitter not supported supported
Vortex not supported supported
Shred not supported supported
Switch not supported supported
Flip not supported supported
Gallery not supported supported
Cube not supported supported
Doors not supported supported
Box not supported supported
Comb not supported supported
Zoom supported supported
Random not supported supported

डायनमिक कंटेंट:

एनिमेशन प्रकार Aspose.Slides PowerPoint
Pan not supported supported
Ferris Wheel supported supported
Conveyor not supported supported
Rotate not supported supported
Orbit not supported supported
Fly Through supported supported

अक्सर पूछे जाने वाले प्रश्न

क्या पासवर्ड‑सुरक्षित प्रस्तुतियों को बदलना संभव है?

हाँ, Aspose.Slides for Python पासवर्ड‑सुरक्षित प्रस्तुतियों के साथ काम करने का समर्थन करता है। ऐसी फ़ाइलों को प्रोसेस करते समय आपको सही पासवर्ड प्रदान करना होगा ताकि लाइब्रेरी प्रस्तुति की सामग्री तक पहुँच सके।

क्या Aspose.Slides for Python क्लाउड समाधान में उपयोग का समर्थन करता है?

हाँ, Aspose.Slides for Python को क्लाउड एप्लिकेशन और सेवाओं में geïntegre किया जा सकता है। यह लाइब्रेरी सर्वर वातावरण में काम करने के लिए डिज़ाइन की गई है, जिससे फ़ाइलों के बैच प्रोसेसिंग के लिए उच्च प्रदर्शन और स्केलेबिलिटी सुनिश्चित होती है।

क्या रूपांतरण के दौरान प्रस्तुतियों के आकार पर कोई सीमा है?

Aspose.Slides for Python व्यावहारिक रूप से किसी भी आकार की प्रस्तुतियों को संभाल सकता है। हालांकि, बहुत बड़ी फ़ाइलों के साथ काम करते समय अतिरिक्त सिस्टम संसाधनों की आवश्यकता हो सकती है, और प्रदर्शन सुधारने के लिए प्रस्तुति को अनुकूलित करने की सलाह दी जा सकती है।