代码之家  ›  专栏  ›  技术社区  ›  Eran Betzalel

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

  •  4
  • Eran Betzalel  · 技术社区  · 15 年前

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

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

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

    2 回复  |  直到 15 年前
        1
  •  2
  •   AnthonyWJones    15 年前

    简单的答案是:你不能。

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

    • 内容展示,即视频、音频和图像,所有这些都是为了创造有趣的、吸引人的方式与此类内容交互。
    • 最近的业务线应用程序,即数据输入和数据表示。再次,为了使这至少比以前的技术使这些应用程序更具视觉刺激性。

    视频编辑并没有真正进入这些阵营,也不受欢迎。

    我还不确定说ActiveX是旧的,毕竟在Internet Explorer中使用了什么技术来承载Silverlight插件?ActiveX控件。

        2
  •  1
  •   Ken Smith    15 年前

    我不知道这是否容易做到。Silverlight本机可用的各种编解码器都由Silverlight MediaElement控件包装,据我所知,它们不是通过API直接公开的,例如,您无法获取原始解码的rgba位流。(如果我在这一点上是错的,我很想知道,但是我已经仔细研究过了,我不知道该怎么做。)单源树有一个只解码的 Dirac 编解码器,但据我所知,没有任何东西能让你轻松地解码,例如WMV或AVI文件。

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

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