人们经常出于多种原因寻求将 PPT 转换为视频。通过将 PowerPoint 转换为视频,他们获得了一个非常易于共享和打开的媒体文件(例如 mp4)。除了增加分享机会之外,最终的视频格式还允许他们以对观众更有吸引力的方式使用演示内容。
在线将 PowerPoint PPT 转换为视频
虽然 PowerPoint 应用程序配备了允许用户将幻灯片转换为视频的功能,但视频创建过程却并不简单。您可能会从使用简单的在线工具(例如 Aspose 的 PowerPoint 转视频 Web 应用程序)中获益更多。当您读完本文时,您将了解如何使用在线转换器以及运行 C#、Java 和 C++ 代码将 PowerPoint PPT 转换为视频。
在线 PPT 到 MP4 转换器
- 转到 Aspose Online PPT 到 MP4 转换器 页面。
- 单击删除或上传您的文件。
- 上传要转换为 MP4 视频的 PowerPoint 演示文稿。
- 单击“转换”。
在线 PPT 到 MP4 转换器提供的参数允许您:
- 指定您要在视频中使用演示文稿中的哪些幻灯片,
- 添加引人入胜的过渡,
- 指定您希望每张幻灯片在视频中出现的时长,
- 向视频添加声音或音乐,以及
- 选择您喜欢的视频质量。
PowerPoint PPT 转 MP4 - 常见问题解答
如何在线将 PPT 转换为 MP4 视频?
使用我们的在线 PowerPoint 到 MP4 视频转换器将 PPT 演示文稿转换为视频文件。上传您的演示文稿,指定您的首选参数或选项,然后单击“转换”。
生成的视频是什么格式?
MP4 是生成的视频的格式。
将 PowerPoint 转换为视频需要多长时间?
通常需要几分钟。 PowerPoint 到视频转换所需的时间取决于所涉及的幻灯片数量、所选的过渡、所选的视频质量以及影响操作的其他参数。
我可以在智能手机上将 PowerPoint PPT 转换为视频吗?
是的。您可以在手机上使用 Aspose PowerPoint to Video Web 应用程序。该转换器在移动设备上的工作方式与在计算机上的工作方式相同。
使用代码将 PPT 转换为视频
使用 Aspose API,开发人员和应用程序可以基于 PowerPoint 幻灯片创建框架(然后可以将其转换为视频)、将演示文稿转换为其他文件、编辑和操作演示文稿等。
在 C# 中将 PPT 转换为 MP4 视频
- 使用 dotnet add package 命令将 Aspose.Slides 和 FFMpegCore 添加到您的项目中:
- 运行
dotnet add package Aspose.Slides.NET --version 22.11.0
- 运行
dotnet add package FFMpegCore --version 4.8.0
- 运行
- 下载 ffmpeg 此处。
- FFMpegCore 要求您指定下载的 ffmpeg 的路径(例如提取到“C:\tools\ffmpeg”):
GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );
- 运行以下 C# 代码将 PowerPoint PPT 转换为视频:
using System.Collections.Generic;
using Aspose.Slides;
using FFMpegCore; // Will use FFmpeg binaries we extracted to "c:\tools\ffmpeg" before
using Aspose.Slides.Animation;
using (Presentation presentation = new Presentation())
{
// 添加微笑形状,然后为其设置动画
IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500);
IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious);
IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious);
effectIn.Timing.Duration = 2f;
effectOut.PresetClassType = EffectPresetClassType.Exit;
const int Fps = 33;
List<string> frames = new List<string>();
using (var animationsGenerator = new PresentationAnimationsGenerator(presentation))
using (var player = new PresentationPlayer(animationsGenerator, Fps))
{
player.FrameTick += (sender, args) =>
{
string frame = $"frame_{(sender.FrameIndex):D4}.png";
args.GetFrame().Save(frame);
frames.Add(frame);
};
animationsGenerator.Run(presentation.Slides);
}
// 配置 ffmpeg 二进制文件文件夹。请参阅此页面:https://github.com/rosenbjerg/FFMpegCore#installation
GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", });
// 将帧转换为 webm 视频
FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray());
}
如果您想了解有关 Aspose.Slides for .NET 功能 在 PowerPoint 到视频转换方面的更多信息,请阅读转换 PowerPoint PPT视频文章。
在 Java 中将 PPT 转换为 MP4
<dependency>
<groupId>网络bramp.ffmpeg</groupId>
<artifactId>ffmpeg</artifactId>
<version>0.7.0</version>
</dependency>
- 运行以下 Java 代码从 PowerPoint PPT 生成 MP4 视频:
Presentation presentation = new Presentation();
try {
// 添加微笑形状,然后为其设置动画
IAutoShape smile = presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500);
ISequence mainSequence = presentation.getSlides().get_Item(0).getTimeline().getMainSequence();
IEffect effectIn = mainSequence.addEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious);
IEffect effectOut = mainSequence.addEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious);
effectIn.getTiming().setDuration(2f);
effectOut.setPresetClassType(EffectPresetClassType.Exit);
final int fps = 33;
ArrayList<String> frames = new ArrayList<String>();
PresentationAnimationsGenerator animationsGenerator = new PresentationAnimationsGenerator(presentation);
try
{
PresentationPlayer player = new PresentationPlayer(animationsGenerator, fps);
try {
player.setFrameTick((sender, arguments) ->
{
try {
String frame = String.format("frame_%04d.png", sender.getFrameIndex());
ImageIO.write(arguments.getFrame(), "PNG", new java.io.File(frame));
frames.add(frame);
} catch (IOException e) {
throw new RuntimeException(e);
}
});
animationsGenerator.run(presentation.getSlides());
} finally {
if (player != null) player.dispose();
}
} finally {
if (animationsGenerator != null) animationsGenerator.dispose();
}
// 配置 ffmpeg 二进制文件文件夹。请参阅此页面:https://github.com/rosenbjerg/FFMpegCore#installation
FFmpeg ffmpeg = new FFmpeg("path/to/ffmpeg");
FFprobe ffprobe = new FFprobe("path/to/ffprobe");
FFmpegBuilder builder = new FFmpegBuilder()
.addExtraArgs("-start_number", "1")
.setInput("frame_%04d.png")
.addOutput("output.avi")
.setVideoFrameRate(FFmpeg.FPS_24)
.setFormat("avi")
.done();
FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);
executor.createJob(builder).run();
} catch (IOException e) {
e.printStackTrace();
}
如果您想了解有关 Aspose.Slides for Java 功能 在 PowerPoint 到视频转换方面的更多信息,请阅读 将 PowerPoint 转换为 MP4视频文章。
用 C++ 从 PPT 生成视频
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);
// 添加微笑形状,然后为其设置动画
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 文件转换为视频 了解更多详细信息。
探索云 API
除了本地 API 之外,Aspose 还提供云产品,允许您将 PowerPoint 转换为视频或其他文件、编辑和操作演示文稿、将其他文档导入演示文稿, ETC。
结论
在本文中,您已经了解了如何使用免费的 PPT 到视频转换器在线将 PowerPoint PPT 转换为视频剪辑。此外,您还了解了如何使用不同的编程语言以编程方式执行 PPT 到视频的转换。