用于转码或者编码的软件很多。但是实际上编码器的数量是是相对比较少的。很多编码软件都算是编码器的GUI。它们外观不同,但是实际上都调用了同样的编码器。比如说一般情况下编码H.264的时候都调用了x264。这类软件很多,比如格式工厂,狸窝视频转换器,MediaCoder,TMPGEnc,HandBrake等等。而有一些公司的编码软件是使用自己的编码器的。这些公司规模较大,因而有足够的资源自己开发编码器。比如Mainconcept,Divx,Elecard,Intel。最近在做转码方面的研究,简单记录一下这两类软件的使用。
本文计划分成两篇文章。第一篇主要记录自主编码器的厂商的编码软件,第二篇主要记录不使用自主编码器的软件。
编码器的评测可以参考文章:
MSU 出品的 H.264 编码器比较 (2012.5)
MSU 出品的 H.264 编码器比较 (2011.5)(包含VP8以及XviD)
本文记录使用自主编码器的编码软件。包括以下3个公司的产品:Mainconcept,Divx,Elecard。其实还有一个公司Intel。由于只看到了它的Intel Media SDK而没有看到它的图形界面的转码工具,不再此记录了。
官方网站:http://www.mainconcept.com/
Mainconcept是一家德国的编解码器公司,总部位于德国的Aachen(亚琛)。Mainconcept现在属于Divx公司的子公司,规模很大,在世界各国有好几个分公司,服务于世界40多个国家和地区。
官网介绍中还有一张其公司分布图:
Mainconcept软件很丰富,包括各种SDK和应用程序。但是很多软件产品是不能下载试用的。如果感兴趣需要和他们公司联系。鉴于我只是自己试试,暂时没有必要去和他们联系,因而搜寻了一下他们的产品列表,发现他们的转码产品TotalCode Studio是可以下载试用的。从介绍页面中可以了解到,TotalCode Studio几乎包含了Mainconcept所有的编解码器,是一个专业级的转码程序。正版的很贵,449美元。在填了一张表格后,收到了Demo下载链接。
TotalCode Studio打开以后的界面如下图所示。左边包含一个“Input”和一个“Output”窗口,分别用于设置输入和输出参数。右边是“Preview”窗口,可以浏览视频信息。
单击菜单栏上的“File”,可以将视音频文件添加到“Input”窗口中。在这里发现了一个比较特别的添加文件的方法:“Open Media using…”。通过这个菜单可以指定不同的方式添加视音频文件。这在一般的转码软件里是很少见的。
在这里我们选择第一个“Rawvideo file reader”。它可以直接将Raw格式数据(YUV,RGB)作为输入视频。单击“Raw video file reader”之后弹出对话框如下图所示。通过该对话框可以配置Raw格式数据的信息,比如宽高,像素格式等等。设置完成后单击“OK”即可。
添加好的视频会显示在“Input”窗口里。用鼠标选中该视频拖拽至“Output”窗口里的“Target”中的“Video”,即可设置为对该视频进行编码。
在“Output”的最上方可以选择输出格式的Preset。TotalCode Studio提供的Preset的数量确实是多得惊人,如下图所列。
在这里我们选择“HEVC”中的“HEVC Main”。然后对“Output”窗口下方的视频参数调整恰当后,就可以开始转码了。单击工具栏上的三角形按钮即可开始转码。这时候所有可以设置的选项都变成了灰色。
PS:在这里发现,Mainconcept的HEVC编码速度还是非常快的。
生成的视频如下图所示。由于是Demo版,右下角打上了Mainconcept的Logo。
此外,在转码前除了可以设置视频的编码标准、宽、高等基本信息外,还可以设置添加一些“Filter”。比如说添加水印Logo等等。
最后,打开DirectShowGraph 图表工具GraphEdit,在“DirectShow Filters”里可以看见已经安装了大量的Mainconcept的编解码器(不过全都是Demo版的)。
官方网站:http://www.divx.com/
Divx是一件美国的编解码器公司,总部位于SanDiego(圣迭戈,位于美国本土的极端西南角,紧挨着墨西哥)。关于Divx和Xvid有还有一段故事。早期只有一个开源的编码器叫OpenDivX。后来其中的一部分人通过一些方法关闭了OpenDivx的源代码,并且成立了现在的Divx公司。其实这种行为还是比较有争议的,它等于把大家为开源事业贡献的智慧变成了自己的私有财产。此事发生之后对原来的OpenDivx产生了毁灭性的影响。但是还有一部分开发者坚持维护OpenDivx项目,并最终演变成了Xvid。“Xvid”这个名字挺有意思的,正好是“Divx”的反过来,就好像是表达对Divx的不满一样。其实Divx和Xvid的性能相差不大,都是基于MPEG4 Part2的视频压缩编码器。
现在的Divx公司已经不只限于原先的Divx编码了,囊括了H.264,HEVC等各种编码标准,并且收购了前文所说的Mainconcept公司。
Divx软件下载安装之后,包含了DivxPlayer,Divx Converter等好几个软件。在这里仅简单试用一下编码软件Divx Converter。Divx Converter界面打开后如图所示,挺美观的,做到了“简约而不简单”。
Divx Converter的转码确实做到了“傻瓜化”,非常的简单。添加文件,然后选择预设,就可以开始转码了。拖入文件后的效果如下图所示。
可以选择的预设种类并不多,这样不会让人感觉到“眼花缭乱”,更适合非专业人士使用。
Elecard是一家俄罗斯的编码器公司,总部位于俄国的Tomsk(托木斯克)。这个地方可是够陌生的,百度百科上说西伯利亚地区教育和科学中心,突发兴趣在查了一下它的位置,在俄国中部。看来视音频编解码技术很强的公司未必在大城市(确切的说,都在小城市)。
官方网站:http://www.elecard.com/
Elecard有个特别有名的软件:Elecard StreamEye。这个软件工具集可以图形化的分析码流,封装格式等等。几乎是视频工作者必备的工具。后来又推出了HEVC的码流分析工具Elecard HEVC Analyzer,其HEVC的分析能力也很强大,此前也写过这些分析工具有关的文章,在此不再详述:
MPEG2简单码流分析
H.264简单码流分析
HEVC码流简单分析
除了码流分析工具外,Elecard还包含了一系列的产品,包括流媒体服务器,视频播放器等等。本文要测试的是它的转码工具:Elecard Converter Studio。
下载并安装Elecard Converter Studio之后,就可以进入它的主界面了,如下图所示。
Elecard Converter Studio整体界面是黑色的,看上去还是挺美观的。中间的窗口是视频预览的窗口。左上方的“Profiles”窗口中保存了很多预设的Profile。左下方的“Statistics”窗口中显示了当前任务的状态(比如转码的速度等等)。下方的“Message”用于输出信息,此外下方还有一个窗口“Batch list”,用于保存待处理的任务。右边的“Task Parameters”用于设置任务的参数。
PS1:发现Elecard Converter Studio中很多按钮是图片而不是文字,因此要找相应功能的时候不是很方便。
PS2:从窗口的特性可以看出Elecard Converter Studio是用MFC中的“多文档”类型开发出来的,这个还是挺不常见的。一般编码软件都使用“基于对话框”类型开发出来。
选择菜单栏上“File->Open Media Files”即可打开添加媒体文件的对话框,如下图所示。可以添加想要编码的视频文件。这里有一个选项还是挺有特色的:“Speed/Quality”。可以通过拖动它的滑动条来设置编码的时候希望速度快一些(质量会低一点)还是质量高一些(速度会慢)。
添加完毕后,所有的媒体文件会显示在“Batch List”里面。
下图显示了添加完成一个视频后的截图。
可以通过“Task parameters”对话框设置任务的属性。各种选项很繁多,就不一一例举了。
Intel可以说是很有名了。以上三个公司都是专注于视频领域的公司。而视频领域对Intel来说应该只是一个小分支。Intel总部位于美国加州的Santa Clara(圣克拉拉,硅谷的腹地)。以后有机会使用Intel Media SDK的时候再做详细的介绍。