Μετατροπή PPT σε βίντεο σε C++

Ισχυρό cross-platform C++ API για μετατροπή PowerPoint σε βίντεο χρησιμοποιώντας κώδικα C++

Μετατρέψτε το PowerPoint σε βίντεο χρησιμοποιώντας το Aspose.Slides

Το Aspose.Slides for C++ είναι μια ισχυρή βιβλιοθήκη C++ που χρησιμοποιείται για τη δημιουργία, επεξεργασία και χειρισμό παρουσιάσεων και επίσης μετατροπή παρουσιάσεων PowerPoint σε άλλα έγγραφα και βίντεο . Σε αυτήν την περίπτωση, για να μετατρέψετε το PowerPoint σε βίντεο, πρέπει να χρησιμοποιήσετε το Aspose.Slides μαζί με το ffmpeg.

Έτσι λειτουργεί η διαδικασία μετατροπής PPT σε βίντεο: Το Aspose.Slides χρησιμοποιείται για τη δημιουργία ενός συνόλου καρέ (από τις διαφάνειες παρουσίασης) και στη συνέχεια το FFMpegCore (ffmpeg) για τη δημιουργία ενός βίντεο με βάση τα καρέ.

Πώς να μετατρέψετε το PPT σε βίντεο

  1. Εγκαταστήστε το Aspose.Slides για C++ ακολουθώντας τις οδηγίες εδώ . Κατεβάστε το ffmpeg εδώ.

  2. Προσθήκη διαδρομής στο ffmpeg.exe στη μεταβλητή περιβάλλοντος PATH.

  3. Αντιγράψτε, επικολλήστε και, στη συνέχεια, εκτελέστε το C++ PowerPoint στον κώδικα βίντεο.

Μετατροπή PowerPoint σε βίντεο σε C++

Χρησιμοποιήστε αυτόν τον κώδικα C++ για να μετατρέψετε το PPT σε βίντεο:

Κώδικας C++ για τη μετατροπή του PowerPoint σε βίντεο


void OnFrameTick(System::SharedPtr<PresentationPlayer> sender, System::SharedPtr<FrameTickEventArgs> args)
{
    System::String fileName = System::String::Format(u"frame_{0}.png", sender->get_FrameIndex());
    args->GetFrame()->Save(fileName);
}

void Run()
{
    auto presentation = System::MakeObject<Presentation>();
    auto slide = presentation->get_Slide(0);

    // Adds a smile shape and then animates it
    System::SharedPtr<IAutoShape> smile = slide->get_Shapes()->AddAutoShape(ShapeType::SmileyFace, 110.0f, 20.0f, 500.0f, 500.0f);
    auto sequence = slide->get_Timeline()->get_MainSequence();
    System::SharedPtr<IEffect> effectIn = sequence->AddEffect(smile, EffectType::Fly, EffectSubtype::TopLeft, EffectTriggerType::AfterPrevious);
    System::SharedPtr<IEffect> effectOut = sequence->AddEffect(smile, EffectType::Fly, EffectSubtype::BottomRight, EffectTriggerType::AfterPrevious);
    effectIn->get_Timing()->set_Duration(2.0f);
    effectOut->set_PresetClassType(EffectPresetClassType::Exit);

    const int32_t fps = 33;

    auto animationsGenerator = System::MakeObject<PresentationAnimationsGenerator>(presentation);
    auto player = System::MakeObject<PresentationPlayer>(animationsGenerator, fps);
    player->FrameTick += OnFrameTick;
    animationsGenerator->Run(presentation->get_Slides());

    const System::String ffmpegParameters = System::String::Format(
        u"-loglevel {0} -framerate {1} -i {2} -y -c:v {3} -pix_fmt {4} {5}",
        u"warning", m_fps, "frame_%d.png", u"libx264", u"yuv420p", "video.mp4");
    auto ffmpegProcess = System::Diagnostics::Process::Start(u"ffmpeg", ffmpegParameters);
    ffmpegProcess->WaitForExit();
}

Άλλες υποστηριζόμενες μετατροπές

Μπορείτε επίσης να μετατρέψετε το PowerPoint σε αρχεία σε άλλες μορφές