如何使用Silverlight执行视频编辑?

如何使用Silverlight执行视频编辑?,silverlight,directshow,video-processing,Silverlight,Directshow,Video Processing,我想将我的ActiveX(到Silverlight)移植到具有以下功能的端口: 在任何视频文件中嵌入徽标图像 在任何视频文件中嵌入字幕 裁剪任何视频文件(例如:裁剪10秒的1分钟视频) 保存视频文件结果(通过客户端的当前编码器) 当前ActiveX使用DirectShow-不幸的是,它不能在Silverlight中使用。我如何才能放弃旧的ActiveX技术而采用新的Silverlight技术?我不知道这是否容易实现。Silverlight本机提供的各种编解码器都由Silverlight Me

我想将我的ActiveX(到Silverlight)移植到具有以下功能的端口:

  • 在任何视频文件中嵌入徽标图像
  • 在任何视频文件中嵌入字幕
  • 裁剪任何视频文件(例如:裁剪10秒的1分钟视频)
  • 保存视频文件结果(通过客户端的当前编码器)

当前ActiveX使用DirectShow-不幸的是,它不能在Silverlight中使用。我如何才能放弃旧的ActiveX技术而采用新的Silverlight技术?

我不知道这是否容易实现。Silverlight本机提供的各种编解码器都由Silverlight MediaElement控件包装,据我所知,它们不是通过API直接公开的,例如,您无法获取原始解码的RGBA比特流。(如果我在这一点上错了,我很想知道,但我一直在摸索,我不知道怎么做。)Mono source tree有一个只解码的编解码器实现,但据我所知,没有任何东西可以让你轻松解码,例如WMV或AVI文件

即使您可以以某种方式获取原始、解码的RGBA(或YCbCr)比特流,以便能够在这些帧中插入您想要的任何数据,您仍然需要重新编码视频流,Silverlight不提供任何本机支持。您必须编写自己的编码器(一点也不琐碎),从ffmpeg库移植它们(也不琐碎),或者等待其他人来完成


简言之,我怀疑您现在需要坚持使用ActiveX解决方案——尽管通过一些巧妙的JavaScript编码,可以将其封装在一个漂亮的Silverlight UI中。

简单的答案是:您不能

Silverlight针对两种主要类型的应用程序:-

  • 内容展示,可以是视频、音频和图像,所有这些都是为了创造有趣和引人入胜的方式来与此类内容交互
  • 最近的业务线应用程序,即数据输入和数据表示。同样,为了使这一功能比以前的技术在视觉上更具刺激性,我们开发了这类应用程序
视频编辑实际上不属于这两个阵营中的任何一个,也不适合这两个阵营


我不确定说ActiveX很旧是否正确,毕竟在Internet Explorer中使用了什么技术来托管Silverlight插件?ActiveX.

我认为视频编辑是可能的,因为创建了以下视频:@Eran:最后20秒很有启发性。没有实际制作新视频,也没有修改任何现有媒体。所有这些都需要创建一个XML文件来定义在每个视频中按开始和结束时间偏移顺序播放哪些现有媒体文件。结果是一个片段和拼接的单个视频的外观,但实际上播放需要所有原始媒体的全部内容。在我的书中,这不是视频编辑。