Convertir PPTX en vidéo en C++
Puissante API C++ multiplateforme pour convertir PowerPoint en vidéo à l’aide de code C++
Convertir PowerPoint en vidéo à l'aide d'Aspose.Slides
Aspose.Slides pour C++ est une puissante bibliothèque C++ utilisée pour créer, éditer et manipuler des présentations et également convertir des présentations PowerPoint en d’autres documents et vidéos . Dans ce cas, pour convertir PowerPoint en vidéo, vous devez utiliser Aspose.Slides avec ffmpeg.
Voici comment fonctionne le processus de conversion PPTX en vidéo : Aspose.Slides est utilisé pour générer un ensemble d’images (à partir des diapositives de présentation), puis FFMpegCore (ffmpeg) est utilisé pour créer une vidéo basée sur les images.
Convertir PowerPoint en vidéo en C++
Utilisez ce code C++ pour convertir PPTX en vidéo :
Code C++ pour convertir PowerPoint en vidéo
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();
}
Autres conversions prises en charge
Vous pouvez également convertir PowerPoint en fichiers dans d'autres formats