本篇旨在帮你学会1件事:把PDF转换为视频形式,固定秒数播放一张。
1. 思路分析
第一步,把PDF变成图片;
第二步,把图片按照固定秒数进行播放。
能做到这两件事情的工具很多,有些PDF浏览器本身可以批量导出图片,甚至PPT都可以胜任图片转视频,大家偶尔用一下直接PPT即可,但我们既然学习就学最方便、最快的方法,先问问AI怎么看?
AI给出的思路是:
- ImageMagick(将 PDF 转换为图片)
- FFmpeg(将图片合成为 MP4 视频)
但经过后续追问,发现ImageMagick处理PDF时还需要依赖Ghostscript,而其实Ghostscript可以单独胜任这一步工作。我知道你也快晕了,不用担心,自己跟着感觉问,两轮就都知道,所以Ghostscript变成了我们第一选择。
接下来要做的就简单了,首次需要安装两款工具,后续整个处理过程亲测1分钟以内完成。
- Ghostscript:负责PDF转图片(有些PDF浏览器支持直接导出图片,则可以省略第一步)
- ffmpeg:负责图片转视频
2. 工具准备
2.1 下载 Ghostscript
下载地址:https://ghostscript.com/releases/gsdnld.html
选择I Agree,然后一路“下一步”即可,会自动添加到系统环境变量。
2.2 下载 ffmpeg
3. PDF转图片
我们这一步使用Ghostscript,要达成的效果是,PDF中的每一张生成一张300分辨率高清图片。
打开CMD终端,复制粘贴并修改下方代码与你的文件名称匹配:
gswin64c -sDEVICE=pngalpha -r300 -o page_%03d.png input.pdf
参数说明:
-sDEVICE=pngalpha:指定输出为 PNG 格式。
-r300:设置分辨率为 300 DPI。
-o output_%03d.png:输出文件名模板(如 output_001.png, output_002.png)。
input.pdf:输入的 PDF 文件路径【主要改这里】
4. 图片转视频
我们这一步使用ffmpeg,完成图片转视频秒处理。
4.1 打开终端CMD
切换到存放上一步输出图片的文件夹:
cd /path/to/your/images
其实这一步不用指令也行,直接打开存放图片的文件夹,然后在地址栏输入 cmd
按回车,效果也一样。
4.2 图片转视频指令
ffmpeg -framerate 1/5 -i page_%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4
参数详细说明:
-framerate 1/5:每张图片播放 5 秒。
-i page_%03d.png:按序列名称(如 page_001.png)读取图片。
-c:v libx264:使用 H.264 编码,生成兼容性高的视频。
-r 30:输出视频帧率为 30 FPS。
-pix_fmt yuv420p:使用兼容性高的像素格式,适配大多数播放器。
output.mp4:生成的视频文件名为 output.mp4。
4.3 参数详细修改指南
-framerate 1/5
作用:设置输入图片的帧率(Frame Rate)。
1/5 表示每张图片显示 5秒。
修改方法:
如果希望每张图片显示 2 秒,改为 1/2。
如果每张图片显示 1 秒,改为 1/1 或直接写 1。
-i page_%03d.png
作用:指定输入图片序列的格式和命名规则。
page%03d.png:表示图片文件名以 page 开头,后面是 3 位数字(如 001, 002)。
%03d 是数字格式化规则,表示 3 位数字,前面不足 3 位补零。
如果图片文件名格式不同(如 image_001.png),需要修改为相应的模板。
-c:v libx264
作用:指定视频编码器。
libx264 是常用的视频编码器,支持高效压缩,适用于大多数播放器和设备。
修改方法:
如果想要更高压缩效率,可以使用 libx265(需要设备支持)。
如果需要更快处理速度,可以使用 mpeg4 编码器。
-r 30
作用:设置输出视频的帧率(Frames per Second, FPS)。
30 表示视频每秒有 30 帧。
修改方法:
常见帧率为 24(电影标准)或 60(高帧率视频)。
输出文件会插帧,使每张图片的显示时长符合 -framerate 设置。
-pix_fmt yuv420p
作用:指定输出视频的像素格式。
yuv420p 是一种兼容性较高的像素格式,适用于大多数视频播放器。
修改方法:
如果需要更高质量,可以改为 yuv444p,但文件会变大且兼容性降低。
output.mp4
作用:指定输出文件的名称和格式。
文件名为 output,可以按需修改,格式为 mp4。
如果需要输出其他格式,如 AVI、MKV,可以直接修改扩展名。