在过去的3-4周里,我一直在用VB.Net做一些工作。我正在创建一个应用程序来保留视频上的标记,并最终希望能够将视频的标记部分提取到新文件中。在一个2小时长的视频中,我可能想提取50个10-15秒的“剪辑”至多15次(事件标记)。这是一个免费的应用程序。
我发现在XP-Win7上渲染/查找/播放剪辑等非常棒(也很容易),没有任何问题。我“发现”了GraphEdit的乐趣,创建图形,在VB.NET,GMFBridge,....etc中使用COM的问题。
现在我需要一些建议。我是否使用了正确的技术。Directshow似乎非常抵制“打开视频”、“寻求剪辑”、“将剪辑写入文件”、“对所有剪辑执行.....repeat、关闭文件”的想法。如果我以可见的方式渲染视频,我已经可以这样做了,但需要以比实时渲染速度更快的速度作为后台任务来完成。
似乎缺少的东西是:-任何人做任何类似事情的示例(将多个剪辑导出到一个文件)-没有容易获得的64位压缩器(周围有许多32位的东西)-我找到的所有参考资料和示例都非常旧- VB.NET不是DirectShow开发人员的第一个“停靠点”
所以,问题是,我应该使用其他东西吗?
如果没有,以前有没有人做过类似的事情。我不是在找他们的代码,我只是想要一些指导原则,因为仅仅使用trial & error (和谷歌)就可以在DirectShow和VB.Net中弄清楚事情需要很长时间。
我已经研究了AFORGE (没有声音)、FFMPEG (命令行工具集)、Media Foundation (不愿意丢弃XP)和各种商业助手库,但没有更进一步。
很抱歉篇幅太长,但我想让读者了解背景。
感谢大家的帮助。
发布于 2014-04-11 21:06:26
为了将剪辑输出到单个文件,微软创建了"DirectShow Editing Services“。它有时有效,有时不起作用。我们在我们的软件中使用它来从像您这样的剪辑中创建视频。只需做一点工作,你就可以在视频中加入特效。
也可以使用AviSynth。这是一个用于DirectShow的脚本系统和框架服务器。
据我所知,使用MediaFoundation你也可以从multiple clips创建视频,但我从未尝试过。
https://stackoverflow.com/questions/23007575
复制相似问题