关于 MobileMate 0.1 的小结和 MobileMate 0.2 的设想

MobileMate 是一款用 Bash 脚本粘合开源命令行工具并集成在一个自启动 Linux LiveCD 的音视频转换开源工具。详情请参见项目主页: http://www.learndiary.com/mobilemate/ 。项目目标是使开源工具更好的服务于我们的应用,并探索一条从开源项目中获取收益的道路。过去的2年时间基本完成了0.1版本的开发,由于0.1b1已经没有太多改善的地方,故跳过 0.1 正式版,现在直接进行 0.2 版本的构思。此文正是小结 0.1 版本和对 0.2 版本的设想。

从 MobileMate 开发 2 年至今没有得到任何一点有用的反馈, Sourceforge.net 项目主页统计的下载量,和挂在淘宝、Ebay 网上从事相关定制服务的无人问津的效果看,MobileMate 0.1 并没有实现预期的目标。我总结了一下失败的原因。一句话,工具使用上的复杂度超过了使用工具所能获得的效果。通用的音视频转换软件已经太多,MobileMate 的功能向它们雷同靠近,但使用的便利性远低于它们。Shell 脚本的威力在于简短的几行命令就能高效的完成特定的任务。而我把 Shell 脚本做成了一个集成的全套转换工具。对普通用户来说,它使用起来的复杂度不能大于使用它带来的效果;对有一定经验的用户来说,使用它还不如自己写几条定制的命令来完成特定的任务强。虽然,在 MobileMate 0.1 中,我试图用面向对象的思路来构建整个工具,但 Shell 脚本毕竟不是面向对象语言,使得有一定经验的用户想重用其中的代码也变得困难。比如,使用一个其中的对象,必须至少得导入相关配置文件,导入初始化参数等。MobileMate 0.1 的面向对象的思路仅能有助于 MobileMate 0.1 内部代码的功能划分和维护。
当然,从 MobileMate 0.1 的开发中,我进一步的熟悉的 Linux 系统的构建原理,熟悉了脚本的编写,也算是一点收获吧。

下面简述一下我对 MobileMate 0.2 版本的开发的一些设想。

1、项目目标和总体技术路线:
不变,依然是使用 Bash 脚本粘合命令行工具集成在 Linux LiveCD 中制作面向音视频转换应用的工具,并探索一条从开源项目获取收益的道路。

2、LiveCD 制作的基础版本:
因为 0.1 版本最初的出发点主要为手机上观看视频制作转换工具,所以体积力求精简,故采用了 TinyCore Linux 作为基础来定制 LiveCD 平台。现在的出发点是集中精力制作工具包脚本和可用性,不再追求体积上的尽量精简。准备采用现在的主流发行版 LiveCD 为基础进行裁剪定制工具包平台。一方面是方便安装软件,一方面是使用界面更加友好。比如:使用 LXDE 桌面的 Ubuntu LiveCD。

3、脚本的组织方式:
0.1 版本的方式是想制作一个面面俱到的大一统通用音视频转换工具。而 0.2 版本设想把音视频转换功能分成各个独立的小工具。各个独立的小工具甚至可以小到就一个命令行。每个小工具都可以完成一个独立的功能,也可以把多个小工具串联在一起完成一个复杂的功能。可以单独在终端使用命令行,也可以定制把参数传递给图形界面(比如:Zenity)用鼠标点击进行操作。
下面以一个应用场景说明一下这个设想。
比如:我有一套小提琴 DVD,每张 DVD 由若干曲目章节组成,每一曲目章节以风光片为视频背景,音乐由双声道组成,左声道钢琴伴奏,右声道小提琴独奏,每一曲目开始前有3秒的静止画面描述本曲目的名称及其它信息。应用的目的是:把每章曲目里的音乐提取出来制作 mp3,每章曲目的 mp3 分为 3 种,分别是:钢琴伴奏、小提琴独奏、合奏。每一首 mp3 要求加上封面图片,图片的内容就是每章曲目开始前静止画面里描述的曲目名称及其它信息另加声道描述(如小提琴独奏)。
上面应用需要的独立功能大致可以分为:从 DVD 以声道为别提取各章音乐;从 DVD 每章开始前3秒的静止画面中提取各章 mp3 封面图片;把封面图片另外加上声道描述;把封面图片转换成适合 mp3 封面的大小和格式;把各章分声道的 mp3 音乐和分声道的封面图片合在一起。
上面每个单独的功能都可以用单独的命令行完成。然后可以把各个单独功能的命令行片断再用脚本串联起来自动化的完成。或者为命令行提供标准的图形界面接口,使用户可以用鼠标操作完成转换目的。

试想一下,就算是一个非常熟悉 Linux 命令行工具的朋友在初次接触到上面的转换任务时,一定也免不了上网查找能够实现上面功能的工具,以及弄清楚各个命令的用法。我们这个工具包的目的就是让大家尽量节省这个查找和学习的时间。而只要打开我们的工具包查看对应的功能目录就能非常容易的写出自动化的处理脚本。

所以,这就对我们脚本的组织方式和文档提出了特别的要求,以方便用户能够尽快的找到需要的功能模块及相应功能的用法。

总之,MobileMate 0.2 设想做成以精简了的主流 Linux 发行版 LiveCD 为平台,关于各种音视频转换的命令行脚本小工具的集合,配之以良好的组织和详尽的文档,或许再加上流行的其它开源音视频工具,比如:ffmpeg 的 GUI 前端 WinFF,制作 DVD 视频的命令行工具 DVDWizard 等等。

关于 MobileMate 0.2 版本未来的设想,希望大家能够提出意见及建议。谢谢。

发表评论

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