视频转换 DVD - MobileMate 起源

MobileMate 是一个转换音视频的开源项目,基于 TinyCore Linux 定制,使用 bash 粘合一些开源工具完成工作。详情参见主页: MobileMate: http://www.learndiary.com/mobilemate/ 。有许多音视频转换软件,为什么创建一个新的? 简而言之,MobileMate 是一个易于定制你自己的自动转换工具的示范项目。下面是这个项目的创意起源。

需求

我的一个朋友需要转换成千的低分辨率(大概:352x288)视频到 DVD。

寻找现成工具

我们试过著名的 Nero, Devede(图形界面工具), DVDWizard(bash 脚本), 等等。

Nero 和 Devede 需要手工添加视频到 DVD,并且有些限制,比如一张 DVD 不能超过7小时的视频,不能使用完所有的 DVD 容量,等等。

DVDWizard 使用命令行参数自动转换已存在的 DVD 格式视频文件(mpg)到 DVD,但是需要你计算每个文件的大小保证总的 DVD 尺寸不会超过 DVD 容量,需要先把视频转换成 DVD mpg 格式。并且,它会为每个视频自动生成一张屏幕截图,在我们的用例中这会减慢转换速度。

我估计了一下这个转换工作所需时间,大概是这位朋友2年的空闲时间。所以受 DVDWizard 的灵感启发,我决定为这个任务写一个工具。

我定制的工具的工作流程和效果

最后,我用1个月的空闲时间写了一个工具,使用 bash 粘合一些开源命令行工具。把它安装进 Ubuntu。我的朋友用了大概3个月时间成功完成了他的工作。

首先,把所有的视频文件放进一个文件夹里,以文件名决定顺序。工具会读取视频信息,计算时长,选择合适的比特率,以可接受的质量并最大化利用 DVD 盘片的容量把它们放进 DVD 里。这样,一张 DVD 大概可以装进 18 个小时的视频。工具会把这些视频文件转换进另一个文件夹里的 DVD iso 映像文件里。这个过程不需要人工干预。

刻录 DVD 映像文件到真实 DVD 碟片仍需要手工操作,只需点一下 iso 映像文件,刻录就可以完成。

技术概览

如上所说,这个工具使用 bash 粘合一些开源命令行工具完成工作。它们是:FFmpeg, Mencoder, Mplayer, ImageMagick(convert, composite), spumux, dvdauthor, mkisofs, growisofs, vlc, 等。

FFmpeg 和 Mencoder, Mplayer 检测视频信息并转换到 DVD 格式 mpg 文件。

ImageMagick 制作 DVD 图形界面菜单。

Spumux 和 dvdauthor 制作 DVD 菜单、导航、DVD 数据结构。

Mkiosfs 把 DVD 数据做进 DVD iso 映像文件。

Growisofs 把 iso 文件刻录到真实 DVD 碟片。

Vlc 直接播放 DVD iso 映像文件非常好。

然后在机器上安一个 Linux,在里面设置好工具。完成。

整个过程除了刻录到真实 DVD 外不需要手工操作。一个亮点是工具可以读取原始文件的信息,自动决定以恰当的质量放多少个文件到 DVD 里面。对于一般刻录软件来说,你需要手动把文件放进 DVD 里,如果总的大小超出了 DVD 容量,那么你就要减一些文件出来。这是一个非常烦人的事情。

在机器上安装一个全新的操作系统非常笨重,所以我基于 TinycoreLinux Live CD 定制了一款音视频转换工具作为一个用例示范。并且也创建了 VMWare 和 VirtualBox 虚拟机版本。实际上,我推荐使用虚拟机版本。

结语

这是一篇关于如何利用 Linux 和开放源代码宝库使我们的生活舒适的文章。并且,也是 MobileMate 开源项目: http://www.learndiary.com/mobilemate/ 的起源。

发表评论

电子邮件地址不会被公开。 必填项已用*标注