什么是Windows或.Net的DVD刻录组件?

我想添加DVD刻录function到我的.Net应用程序(在Windows Server 2003上运行),有没有好的组件可用? 我已经使用了Nero随附的NeroCOM sdk,但是他们不再支持最新版本的Nero中的sdk。 我了解到,微软已经为Windows XP / 2003创build了一个IMAPI2升级,在CodeProject上有一个示例项目 ,但没有自己使用它,我不能说它是多么容易/可靠使用。

我并不担心将audio/video刻录到DVD,因为这仅用于文件备份。

我已经使用codeproject 文章中的代码,它工作得很好。 这是IMAPI2的一个很好的包装,所以只要IMAPI2支持你需要做的事,.NET包装器就可以做到这一点。

在我上一份工作中,我的任务是找到一个跨平台,并最好是自由的方式来编写我们的应用程序特定的文件到CD / DVD。 我很快就发现在Windows上写CD不是很难,但是我不能很容易地写DVD,而且只能在windows上工作。

我结束了围绕cdrecord写包装cdrecord是一个开源项目,可以轻松地用cygwin构建。 我将创建一个临时目录,在其中添加需要写入的文件,在该目录上调用mkisofs来创建cd iso,然后调用cdrecord来刻录映像。 如果你拥有严格的Windows用户,这可能不是最好的解决方案,但是我唯一能够发现的就是window,Linux和OS X.

另外一个选项是StarBurn SDK ,我下载了试用版并使用了它,它运行良好,但是最终它不是免费的,所以对于我的目的而言,它太昂贵了。

我的cdrecord方法确实支持DVD刻录,我只是查看了代码,而男孩却忘记了我在该课堂上投入了多少时间和精力。

cdrecord没有任何问题,只需要烧录任何类型的媒体,但是由于它是一个独立的应用程序,我不得不做很多解析才能获得有用的信息。 如果您有兴趣,我可以挖掘标志和我使用的不同呼叫,但不幸的是,我无法分享源代码,因为它是为商业项目开发的。

在查看代码的同时,我还被提醒说,我将cdrecord(cdrtools)切换到wodim( cdrkit )。 wodim是几年前由debian团队提出的cdrecord的一个分支,因为cdrecord放弃了GPL许可证。

就像我之前说的,这是作为商业应用程序的一部分发布的,我们对GPL的解释是,只要程序可以在没有外部二进制文件的情况下运行,就可以从程序中调用外部二进制文件(如果没有找到cdrecord我们弹出了一个对话框,通知用户无法使用刻录功能),我们还必须托管cdrkit和cygwin的源代码,并将GPL的副本包含在我们的分布式程序中。 所以基本上我们不会做“衍生作品”,我们会按照原样编译cdrkit代码,然后使用生成的二进制文件。

至于StarBurn SDK,我演示了它,但是我没有用它来装运产品,所以我不能给出建议或者说比说明更多的东西

你的cdrecord方法支持DVD刻录吗? 有没有一种简单的方法来重新分配/安装cygwin与应用程序? StarBurn乍一看看起来相当不错,虽然我有点犹豫是否要用未经证实的库来处理这些复杂的事情(特别是现在有很多类型的媒体),StarBurn产品组合页面有点蓬松的一面。