如何在 Linux 中从 PDF 创建视频

如何在 Linux 中从 PDF 创建视频

我在我的平板电脑中收集了大量的 PDF 文件,其中主要是 Linux 教程。有时候我懒得在平板电脑上看。我认为如果我能够从 PDF 创建视频,并在大屏幕设备(如电视机或计算机)中观看会更好。虽然我对 FFMpeg 有一些经验,但我不知道如何使用它来创建视频。经过一番 Google 搜索,我想出了一个很好的解决方案。对于那些想从一组 PDF 文件制作视频文件的人,请继续阅读。这并不困难。

 

在 Linux 中从 PDF 创建视频

为此,你需要在系统中安装 “FFMpeg” 和 “ImageMagick”。

要安装 FFMpeg,请参考以下链接。

  • Linux 下编译FFmpeg 支持x264, x265  http://www.linuxidc.com/Linux/2016-04/129858.htm
  • FFmpeg常用基本命令  http://www.linuxidc.com/Linux/2016-10/136545.htm
  • Ubuntu 16.04下交叉编译FFmpeg  http://www.linuxidc.com/Linux/2017-10/147370.htm
  • Ubuntu 16.04安装编译FFmpeg  http://www.linuxidc.com/Linux/2017-10/147769.htm

Imagemagick 可在大多数 Linux 发行版的官方仓库中找到。

在 Arch Linux 以及 Antergos、Manjaro Linux 等衍生产品上,运行以下命令进行安装。

  1. <span class="kwd">sudo</span><span class="pln"> pacman </span><span class="pun">-</span><span class="pln">S imagemagick</span>

Debian、Ubuntu、Linux Mint:

  1. <span class="kwd">sudo</span><span class="kwd">apt-get</span><span class="pln"> install imagemagick</span>

Fedora:

  1. <span class="kwd">sudo</span><span class="pln"> dnf install imagemagick</span>

RHEL、CentOS、Scientific Linux:

  1. <span class="kwd">sudo</span><span class="kwd">yum</span><span class="pln"> install imagemagick</span>

SUSE、 openSUSE:

  1. <span class="kwd">sudo</span><span class="pln"> zypper install imagemagick</span>

在安装 ffmpeg 和 imagemagick 之后,将你的 PDF 文件转换成图像格式,如 PNG 或 JPG,如下所示。

  1. <span class="pln">convert </span><span class="pun">-</span><span class="pln">density </span><span class="lit">400</span><span class="pln"> input</span><span class="pun">.</span><span class="pln">pdf picture</span><span class="pun">.</span><span class="pln">png</span>

这里,-density 400 指定输出图像的水平分辨率。

上面的命令会将指定 PDF 的所有页面转换为 PNG 格式。PDF 中的每个页面都将被转换成 PNG 文件,并保存在当前目录中,文件名为: picture-1.pngpicture-2.png 等。根据选择的 PDF 的页数,这将需要一些时间。

将 PDF 中的所有页面转换为 PNG 格式后,运行以下命令以从 PNG 创建视频文件。

  1. <span class="pln">ffmpeg </span><span class="pun">-</span><span class="pln">r </span><span class="lit">1</span><span class="pun">/</span><span class="lit">10</span><span class="pun">-</span><span class="pln">i picture</span><span class="pun">-%</span><span class="lit">01d</span><span class="pun">.</span><span class="pln">png </span><span class="pun">-</span><span class="pln">c</span><span class="pun">:</span><span class="pln">v libx264 </span><span class="pun">-</span><span class="pln">r </span><span class="lit">30</span><span class="pun">-</span><span class="pln">pix_fmt yuv420p video</span><span class="pun">.</span><span class="pln">mp4</span>

这里:

  • -r 1/10 :每张图像显示 10 秒。
  • -i picture-%01d.png :读取以 picture- 开头,接着是一位数字(%01d),最后以 .png 结尾的所有图片。如果图片名称带有 2 位数字(也就是 picture-10.pngpicture11.png 等),在上面的命令中使用(%02d)。
  • -c:v libx264:输出的视频编码器(即 h264)。
  • -r 30 :输出视频的帧率
  • -pix_fmt yuv420p:输出的视频分辨率
  • video.mp4:以 .mp4 格式输出视频文件。

好了,视频文件完成了!你可以在任何支持 .mp4 格式的设备上播放它。接下来,我需要找到一种方法来为我的视频插入一个很酷的音乐。我希望这也不难。

如果你想要更高的分辨率,你不必重新开始。只要将输出的视频文件转换为你选择的任何其他更高/更低的分辨率,比如说 720p,如下所示。

  1. <span class="pln">ffmpeg </span><span class="pun">-</span><span class="pln">i video</span><span class="pun">.</span><span class="pln">mp4 </span><span class="pun">-</span><span class="pln">vf scale</span><span class="pun">=-</span><span class="lit">1</span><span class="pun">:</span><span class="lit">720</span><span class="pln"> video_720p</span><span class="pun">.</span><span class="pln">mp4</span>

请注意,使用 ffmpeg 创建视频需要一台配置好的 PC。在转换视频时,ffmpeg 会消耗大量系统资源。我建议在高端系统中这样做。

就是这些了。希望你觉得这个有帮助。还会有更好的东西。敬请关注!

相关推荐