我想用C#制作一个视频编辑器,但我不知道从哪里开始。
我应该使用哪些课程?我将它编译成什么(MOV,MPEG4等)?我怎么读它们?
我看到的最重要的事情就是阅读它们。
答案 0 :(得分:4)
我想用C#制作视频编辑器,但我不知道从哪里开始。
视频编辑器是一个非常复杂的应用程序,具有许多独立的子系统。您将需要资产管理,时间轴,播放器组件,视频和音频效果和过滤器,标题生成等,以及结合所有这些并将其呈现给用户的GUI。
在上述所有内容中,我建议您先构建视频播放器。有几个库可以帮助解决这个问题,我将推荐其中两个:
请注意,DirectShow将在C#中本机工作,但QuickTime SDK在C中,因此您需要使用胶水代码将C#应用程序连接到QuickTime DLL中的C函数。
这两个库都有高级别的玩家,只需要少量的设置调用,以及允许您提供自己的播放器代码的低级API。对于视频编辑器,您需要有一个自定义播放器,因为您不仅要播放视频文件,还要渲染实时生成的效果。因此,您应该使用上述任一框架中的低级API,并编写最初读取电影文件的播放器,获取帧,并将它们传递给正确的解码器和渲染器。
完成此项工作后,您可以继续执行其他任务,并使用视频播放器作为编辑器的基础。
祝你好运。答案 1 :(得分:3)
您可以使用ffmpeg作为许多视频编辑的最简单解决方案。
以下是获取视频屏幕截图的示例代码:How to convert uploaded video and get a screenshot from this file?
答案 2 :(得分:2)
这可以在DirectX中完成 我建议你使用DirectShow ..