none
求一个完整的MediaStreamSource 流媒体解码实例 RRS feed

  • 问题

  • 我想做一个关于SL实时监控的应用

    SL做为呈现端,服务端是Winform程序,2边采用TCP连接

    我现在在做一个实验,在Winform 中读取一个WMV的文件,将流Send到SL中,SL中使用MediaElement.SetSource

    但是现在 找不到WMV的MediaStreamSource,没法呈现 。我在网上搜了很多关于这方面的材料,都是关于h263,flv,我现在还不需要那么复杂,我觉得WMV是微软的格式,应该更简单才是(注意不是FileStream,FileStream的WMV流直接就可以播放了)

    哪位有 MediaStreamSource WMV 实验成功的代码请贴出, 如果上面的想法不对,请赐教

    2010年12月14日 7:32

答案

全部回复

  • 微软提供了wmv Live stream的支持,采集,编码端为 Expression Encoder 或之前的 Windows media encoder,流发布端可以用windows server 上的 media service. silverlight播放这样的流时,只要设置source为发布网址即可


    Mog Liang
    2010年12月15日 7:59
  • 谢谢 Mog Liang

    可是这个项目不适于用这种流媒体服务器的模式;

    因为监控设备是嵌入式的摄像头,无法进行c#开发,更不能嵌入Expression Encoder,只能固定发送h264流;除非Expression Encoder或Windows media encoder能设置 远程摄像头的 输入源;如果可以请指教

    现在 我只能 对流进行处理,展现,相当于去写一个简单的 Expression Encoder 的服务器,然后把silverlight接受Stream这块抽取出来实现

    2010年12月16日 0:08
  • windows media encoder 应该可以接受网络流,你需要查找其API,或者从Window Media foundation入手。


    Mog Liang
    2010年12月16日 2:21
  • 那我 windows media encoder 要部署在何处?

    硬件摄像头处?服务器处?还是web客户端?

    部署在硬件摄像头,除非客户再愿意买一台电脑,因为硬件摄像头是 嵌入式的东西 类似路由器猫那样的 控制器

    服务器处的话 那就是 采用中转方式了,硬件先发流到服务器,sl连服务器

    2010年12月16日 4:49
  • 你好,

    这要由实际项目需求来决定系统拓扑。若每个摄像头不会被多个客户端同时访问的话,则避免使用服务器中转方式,以减少成本。 若如你上文提到的网络摄像头使用h.264编码并封装入mp4 container,那么silverlight应该可以直接连接显示。

    一篇关于MediaStreamSource的文章,你看是否有用

    http://blogs.msdn.com/b/avib/archive/2010/03/10/silverlight-media-stream-source-part-1.aspx


    Mog Liang
    2010年12月16日 7:07
  • 再次感谢Mog Liang

    摄像头是没用封装成 mp4 container 的 它就是 纯h264 的流

    首先 MediaStreamSource 我已经重写 过了 可以播放 h264 封装成 mp4 文件的 文件流了

    现在 就是 怎么把 这个流实时传输到 我重写的 MediaStreamSource  中呈现

    毕竟 文件的 h264 流 和 实际摄像头的 h264 的流是不一样的

    具体不同我也不清楚,只有一些 心得

    1.在播放 h264 mp4文件流时,MediaStreamSource  的流要够让 OpenMediaAsync 方法知道 你流的编码

    2.后续的流如果使用 MediaStreamSource  也要带这些头信息,但是 实际h264 文件流中 没有

    3.如果要绕开 windows media encoder  这类东西,肯定要建立 RTP 协议

    有空多指教一下 msn:paulwang04@hotmail.com

    2010年12月16日 7:32
  • 请问下,h264的流文件必须要封装成MP4才能播放吗,网上有人实现了Flv文件的播放,

    是把flv中的h264流取出来在加些头信息就可以播的,所以能不能直接给h264流文件加

    上头部信息用复制给MediaStreamSource

    2011年8月9日 6:28