Konvertieren Sie PPT in Video in C++

Leistungsstarke plattformübergreifende C++-API zum Konvertieren von PowerPoint in Videos mithilfe von C++-Code

Konvertieren Sie PowerPoint mit Aspose.Slides in ein Video

Aspose.Slides für C++ ist eine leistungsstarke C++-Bibliothek, die zum Erstellen, Bearbeiten und Bearbeiten von Präsentationen sowie zum Konvertieren von PowerPoint-Präsentationen in andere Dokumente und Videos verwendet wird . In diesem Fall müssen Sie zum Konvertieren von PowerPoint in Video Aspose.Slides neben ffmpeg verwenden.

So funktioniert der PPT-zu-Video-Konvertierungsprozess: Aspose.Slides wird verwendet, um eine Reihe von Frames (aus den Präsentationsfolien) zu generieren, und dann wird FFMpegCore (ffmpeg) verwendet, um ein Video basierend auf den Frames zu erstellen.

So konvertieren Sie PPT in Video

  1. Installieren Sie Aspose.Slides für C++, indem Sie den Anweisungen hier folgen. Laden Sie ffmpeg [hier] herunter.( https://ffmpeg.org/download.html )

  2. Fügen Sie den Pfad zu „ffmpeg.exe“ zur Umgebungsvariablen „PATH“ hinzu.

  3. Kopieren Sie den C++ PowerPoint to Video-Code, fügen Sie ihn ein und führen Sie ihn dann aus.

Konvertieren Sie PowerPoint in C++ in ein Video

Verwenden Sie diesen C++-Code, um PPT in Video zu konvertieren:

C++-Code zum Konvertieren von PowerPoint in Video


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();
}

Andere unterstützte Konvertierungen

Sie können PowerPoint auch in Dateien in anderen Formaten konvertieren