# जावा का उपयोग करके प्रस्तुतियों में वीडियो फ्रेम का प्रबंधन

> Aspose.Slides for Java का उपयोग करके PowerPoint और OpenDocument स्लाइड्स में प्रोग्रामेटिक रूप से वीडियो फ्रेम जोड़ने और निकालने के लिए सीखें। तेज़ मार्गदर्शिका।

Source: https://docs.aspose.com/slides/hi/java/video-frame/
Updated: 2026-06-14

## **परिचय**

एक अच्छी तरह से रखा गया वीडियो प्रस्तुति में आपके संदेश को अधिक प्रभावशाली बना सकता है और आपके दर्शकों के साथ जुड़ाव स्तर को बढ़ा सकता है।  

PowerPoint आपको प्रस्तुति में एक स्लाइड में वीडियो जोड़ने के दो तरीके प्रदान करता है:

* स्थानीय वीडियो जोड़ें या एम्बेड करें (आपके मशीन पर संग्रहीत)  
* ऑनलाइन वीडियो जोड़ें (YouTube जैसे वेब स्रोत से)।

आपको प्रस्तुति में वीडियो (वीडियो ऑब्जेक्ट) जोड़ने की अनुमति देने के लिए, Aspose.Slides प्रदान करता है [IVideo](https://reference.aspose.com/slides/hi/java/com.aspose.slides/ivideo/) इंटरफ़ेस, [IVideoFrame](https://reference.aspose.com/slides/hi/java/com.aspose.slides/ivideoframe/) इंटरफ़ेस, और अन्य प्रासंगिक प्रकार।  

## **एम्बेडेड वीडियो फ्रेम बनाना**

यदि वह वीडियो फ़ाइल जिसे आप अपनी स्लाइड में जोड़ना चाहते हैं स्थानीय तौर पर संग्रहीत है, तो आप वीडियो को अपनी प्रस्तुति में एम्बेड करने के लिए एक वीडियो फ्रेम बना सकते हैं।  

1. एक [Presentation ](https://reference.aspose.com/slides/hi/java/com.aspose.slides/Presentation) क्लास का उदाहरण बनाएं।  
1. इंडेक्स के माध्यम से स्लाइड का रेफ़रेंस प्राप्त करें।  
1. एक [IVideo](https://reference.aspose.com/slides/hi/java/com.aspose.slides/ivideo/) ऑब्जेक्ट जोड़ें और वीडियो फ़ाइल पथ पास करके वीडियो को प्रस्तुति में एम्बेड करें।  
1. वीडियो के लिए फ्रेम बनाने के लिए एक [IVideoFrame](https://reference.aspose.com/slides/hi/java/com.aspose.slides/ivideoframe/) ऑब्जेक्ट जोड़ें।  
1. संशोधित प्रस्तुति को सहेजें।  

```java
// Presentation क्लास का इंस्टेंस बनाता है
Presentation pres = new Presentation("pres.pptx");
try {
    // वीडियो लोड करता है
    FileInputStream fileStream = new FileInputStream("Wildlife.mp4");
    
    IVideo video = pres.getVideos().addVideo(fileStream, LoadingStreamBehavior.KeepLocked);

    // पहली स्लाइड प्राप्त करता है और एक वीडियोफ़्रेम जोड़ता है
    pres.getSlides().get_Item(0).getShapes().addVideoFrame(10, 10, 150, 250, video);

    // प्रस्तुति को डिस्क पर सहेजता है
    pres.save("pres-with-video.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
    if (pres != null) pres.dispose();
}
```

वैकल्पिक रूप से, आप वीडियो को उसके फ़ाइल पथ को सीधे [addVideoFrame(float x, float y, float width, float height, IVideo video)](https://reference.aspose.com/slides/hi/java/com.aspose.slides/ishapecollection/#addVideoFrame-float-float-float-float-com.aspose.slides.IVideo-) मेथड में पास करके जोड़ सकते हैं:  

``` java
Presentation pres = new Presentation();
try {
	ISlide sld = pres.getSlides().get_Item(0);
	IVideoFrame vf = sld.getShapes().addVideoFrame(50, 150, 300, 150, "video1.avi");
} finally {
	if (pres != null) pres.dispose();
}
```

## **वेब स्रोतों से वीडियो के साथ वीडियो फ्रेम बनाना**

Microsoft [PowerPoint 2013 and newer](https://support.microsoft.com/en-us/office/versions-of-powerpoint-that-support-online-videos-2a0e184d-af50-4da9-b530-e4355ac436a9?ui=en-us&rs=en-us&ad=us) प्रस्तुति में YouTube वीडियो का समर्थन करते हैं। यदि आप जिस वीडियो का उपयोग करना चाहते हैं वह ऑनलाइन उपलब्ध है (जैसे YouTube पर), तो आप उसे वेब लिंक के माध्यम से अपनी प्रस्तुति में जोड़ सकते हैं।  

1. एक [Presentation ](https://reference.aspose.com/slides/hi/java/com.aspose.slides/Presentation) क्लास की इंस्टेंस बनाएं।  
1. इंडेक्स के माध्यम से स्लाइड का रेफ़रेंस प्राप्त करें।  
1. एक [IVideo](https://reference.aspose.com/slides/hi/java/com.aspose.slides/ivideo/) ऑब्जेक्ट जोड़ें और वीडियो का लिंक पास करें।  
1. वीडियो फ्रेम के लिए थंबनेल सेट करें।  
1. प्रस्तुति को सहेजें।  

```java
// एक प्रस्तुति फ़ाइल का प्रतिनिधित्व करने वाला Presentation ऑब्जेक्ट बनाता है 
Presentation pres = new Presentation();
try {
    addVideoFromYouTube(pres, "Tj75Arhq5ho");
    pres.save("out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}
```

```java
private static void addVideoFromYouTube(Presentation pres, String videoID)
{
    // एक videoFrame जोड़ता है
    IVideoFrame videoFrame = pres.getSlides().get_Item(0).getShapes().addVideoFrame(
            10, 10, 427, 240, "https://www.youtube.com/embed/" + videoID);
    videoFrame.setPlayMode(VideoPlayModePreset.Auto);

    // थंबनेल लोड करता है
    String thumbnailUri = "http://img.youtube.com/vi/" + videoID + "/hqdefault.jpg";
    URL url;

    try {
        url = new URL(thumbnailUri);
        videoFrame.getPictureFormat().getPicture().setImage(pres.getImages().addImage(url.openStream()));
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
```

## **वीडियो कैप्शन प्रबंधित करें**

Aspose.Slides आपको PowerPoint प्रस्तुतियों में वीडियो फ्रेमों के लिए क्लोज्ड कैप्शन प्रबंधित करने की सुविधा देता है। कैप्शन WebVTT प्रारूप में संग्रहीत होते हैं और उन्हें [IVideoFrame.getCaptionTracks](https://reference.aspose.com/slides/hi/java/com.aspose.slides/ivideoframe/#getCaptionTracks--) मेथड के माध्यम से एक्सपोज़ किया जाता है।  

**वीडियो फ्रेम में कैप्शन जोड़ें**

1. एक [Presentation](https://reference.aspose.com/slides/hi/java/com.aspose.slides/presentation/) क्लास की इंस्टेंस बनाएं।  
1. प्रस्तुति में एक वीडियो जोड़ें।  
1. स्लाइड में एक [IVideoFrame](https://reference.aspose.com/slides/hi/java/com.aspose.slides/ivideoframe/) ऑब्जेक्ट जोड़ें।  
1. [getCaptionTracks](https://reference.aspose.com/slides/hi/java/com.aspose.slides/ivideoframe/#getCaptionTracks--) द्वारा लौटाए गए [ICaptionsCollection](https://reference.aspose.com/slides/hi/java/com.aspose.slides/icaptionscollection/) का उपयोग करके एक WebVTT कैप्शन ट्रैक जोड़ें।  
1. संशोधित प्रस्तुति को सहेजें।  

```java
Presentation presentation = new Presentation();
try {
    byte[] videoData = Files.readAllBytes(Paths.get("video.mp4"));
    IVideo video = presentation.getVideos().addVideo(videoData);

    ISlide slide = presentation.getSlides().get_Item(0);
    IVideoFrame videoFrame = slide.getShapes().addVideoFrame(0, 0, 100, 100, video);

    // एक WebVTT फ़ाइल से नया कैप्शन ट्रैक जोड़ता है।
    videoFrame.getCaptionTracks().add("English", "track.vtt");

    presentation.save("video_with_captions.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}
```

[ICaptionsCollection](https://reference.aspose.com/slides/hi/java/com.aspose.slides/icaptionscollection/) इंटरफ़ेस एक ओवरलोड भी प्रदान करता है जो आपको स्ट्रिम से कैप्शन जोड़ने देता है।  

**वीडियो फ्रेम से कैप्शन निकालें**

1. वीडियो वाली प्रस्तुति को लोड करें।  
1. लक्ष्य [IVideoFrame](https://reference.aspose.com/slides/hi/java/com.aspose.slides/ivideoframe/) ऑब्जेक्ट खोजें।  
1. [ICaptionsCollection](https://reference.aspose.com/slides/hi/java/com.aspose.slides/icaptionscollection/) में कैप्शन ट्रैक्स के माध्यम से इटरैट करें।  
1. प्रत्येक कैप्शन ट्रैक को `.vtt` फ़ाइल में सहेजें।  

```java
Presentation presentation = new Presentation("video_with_captions.pptx");
try {
    ISlide slide = presentation.getSlides().get_Item(0);
    for (IShape shape : slide.getShapes()) {
        if (shape instanceof IVideoFrame) {
            IVideoFrame videoFrame = (IVideoFrame)shape;
            for (ICaptions captionTrack : videoFrame.getCaptionTracks()) {
                // कैप्शन ट्रैक को एक WebVTT फ़ाइल में सहेजता है।
                String filePath = captionTrack.getCaptionId().toString() + ".vtt";
                Files.write(Paths.get(filePath), captionTrack.getBinaryData());
            }
        }
    }
} finally {
    presentation.dispose();
}
```

प्रत्येक [ICaptions](https://reference.aspose.com/slides/hi/java/com.aspose.slides/icaptions/) ऑब्जेक्ट कैप्शन पहचानकर्ता, लेबल, बाइनरी डेटा, और कैप्शन टेक्स्ट को UTF-8 स्ट्रिंग के रूप में एक्सपोज़ करता है।  

**वीडियो फ्रेम से कैप्शन हटाएँ**

1. वीडियो वाली प्रस्तुति को लोड करें।  
1. लक्ष्य [IVideoFrame](https://reference.aspose.com/slides/hi/java/com.aspose.slides/ivideoframe/) ऑब्जेक्ट प्राप्त करें।  
1. [ICaptionsCollection](https://reference.aspose.com/slides/hi/java/com.aspose.slides/icaptionscollection/) से कैप्शन ट्रैक्स हटाएँ।  
1. संशोधित प्रस्तुति को सहेजें।  

```java
Presentation presentation = new Presentation("video_with_captions.pptx");
try {
    ISlide slide = presentation.getSlides().get_Item(0);
    IVideoFrame videoFrame = (IVideoFrame)slide.getShapes().get_Item(0);

    // वीडियो फ्रेम से सभी कैप्शन हटाता है।
    videoFrame.getCaptionTracks().clear();

    presentation.save("video_without_captions.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}
```

यदि आपको केवल एक ही कैप्शन ट्रैक हटाना है, तो [clear](https://reference.aspose.com/slides/hi/java/com.aspose.slides/icaptionscollection/#clear--) के बजाय [remove](https://reference.aspose.com/slides/hi/java/com.aspose.slides/icaptionscollection/#remove-com.aspose.slides.ICaptions-) या [removeAt](https://reference.aspose.com/slides/hi/java/com.aspose.slides/icaptionscollection/#removeAt-int-) मेथड का उपयोग करें।  

## **स्लाइड्स से वीडियो निकालें**

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

1. वीडियो वाली प्रस्तुति को लोड करने के लिए एक [Presentation](https://reference.aspose.com/slides/hi/java/com.aspose.slides/Presentation) क्लास की इंस्टेंस बनाएं।  
2. सभी [ISlide](https://reference.aspose.com/slides/hi/java/com.aspose.slides/islide/) ऑब्जेक्ट्स के माध्यम से इटरैट करें।  
3. सभी [IShape](https://reference.aspose.com/slides/hi/java/com.aspose.slides/ishape/) ऑब्जेक्ट्स के माध्यम से इटरैट करके एक [VideoFrame](https://reference.aspose.com/slides/hi/java/com.aspose.slides/videoframe/) खोजें।  
4. वीडियो को डिस्क पर सहेजें।  

```java
// एक Presentation ऑब्जेक्ट बनाता है जो एक प्रस्तुति फ़ाइल का प्रतिनिधित्व करता है 
Presentation pres = new Presentation("VideoSample.pptx");
try {
    for (ISlide slide : pres.getSlides()) 
    {
        for (IShape shape : slide.getShapes()) 
        {
            if (shape instanceof VideoFrame) 
            {
                IVideoFrame vf = (IVideoFrame) shape;
                String type = vf.getEmbeddedVideo().getContentType();
                int ss = type.lastIndexOf('-');
                byte[] buffer = vf.getEmbeddedVideo().getBinaryData();

                // फाइल एक्सटेंशन प्राप्त करता है
                int charIndex = type.indexOf("/");
                type = type.substring(charIndex + 1);

                FileOutputStream fop = new FileOutputStream("testing2." + type);
                fop.write(buffer);
                fop.flush();
                fop.close();
            }
        }
    }
} catch (IOException e) {
} finally {
    if (pres != null) pres.dispose();
}
```

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

**एक VideoFrame के लिए कौन से वीडियो प्लेबैक पैरामीटर बदले जा सकते हैं?**  

आप [प्लेबैक मोड](https://reference.aspose.com/slides/hi/java/com.aspose.slides/videoframe/#setPlayMode-int-) (ऑटो या क्लिक पर) और [लूपिंग](https://reference.aspose.com/slides/hi/java/com.aspose.slides/videoframe/#setPlayLoopMode-boolean-) को नियंत्रित कर सकते हैं। ये विकल्प [VideoFrame](https://reference.aspose.com/slides/hi/java/com.aspose.slides/videoframe/) ऑब्जेक्ट की प्रॉपर्टीज़ के माध्यम से उपलब्ध हैं।  

**क्या वीडियो जोड़ने से PPTX फ़ाइल आकार प्रभावित होता है?**  

हाँ। जब आप एक स्थानीय वीडियो एम्बेड करते हैं, तो बाइनरी डेटा दस्तावेज़ में शामिल हो जाता है, इसलिए प्रस्तुति का आकार फ़ाइल आकार के अनुपात में बढ़ता है। जब आप एक ऑनलाइन वीडियो जोड़ते हैं, तो एक लिंक और थंबनेल एम्बेड होते हैं, जिससे आकार वृद्धि कम रहती है।  

**क्या मैं मौजूदा VideoFrame में वीडियो को उसकी स्थिति और आकार बदले बिना बदल सकता हूँ?**  

हाँ। आप फ्रेम के भीतर [वीडियो कंटेंट](https://reference.aspose.com/slides/hi/java/com.aspose.slides/videoframe/#setEmbeddedVideo-com.aspose.slides.IVideo-) को बदल सकते हैं जबकि आकार और जियोमेट्री समान रहती है; यह मौजूदा लेआउट में मीडिया को अपडेट करने का सामान्य परिदृश्य है।  

**क्या एम्बेडेड वीडियो का कंटेंट टाइप (MIME) निर्धारित किया जा सकता है?**  

हाँ। एक एम्बेडेड वीडियो का एक [content type](https://reference.aspose.com/slides/hi/java/com.aspose.slides/video/#getContentType--) होता है जिसे आप पढ़ और उपयोग कर सकते हैं, उदाहरण के तौर पर जब उसे डिस्क पर सहेजना हो।
