在WPF(或WinForms)中播放rtsp流

时间:2012-04-23 12:43:19

标签: wpf winforms rtsp mediaelement

有没有办法在WPF(或WinForms)中播放rtsp://流?

我尝试了MediaElementMediaUriElement,但没有一个有效。我也读过很多关于WMP能够播放rtsp的内容(也应该转换为MediaElement),但实际上WMP并不能在Windows 7 x64上播放。我见过this,但我希望这不是一个明确的答案。

这与使用的视频编解码器有什么关系吗?

VLC播放rtsp流就好了。

我正在寻找WPF或WinForms组件或替代解决方案。

3 个答案:

答案 0 :(得分:6)

尝试Accord.Net(http://accord-framework.net/)。它有一个非常简单的界面,可作为nuget包(Accord.Video.FFMPEG)使用。它可以用于检索可以在WinForms / WPF中使用的Bitmap实例。缺点是它不支持Mono(不确定你所针对的平台)。

示例:

VideoFileReader reader = new VideoFileReader();
reader.Open("rtsp://192.168......");

while (true)
{
   Bitmap frame = reader.ReadVideoFrame();
   //Do whatever with the frame...
}

reader.Close();

答案 1 :(得分:1)

我发现VideoLan DotNet for WinForm, WPF & Silverlight 5似乎现在已经成功了。缺点是您需要安装VLC。这不是一个独立的事情。

我希望这也有助于其他人。

答案 2 :(得分:1)

迟到总比没有好;看看这个控件: http://www.codeproject.com/Articles/885869/Stream-Player-control

  

这是一个基于FFmpeg的流播放器控件,可以执行以下操作:

     
      
  1. 播放RTSP / RTMP视频流
  2.   
  3. 检索控件显示的当前帧
  4.         

    该控件没有其他依赖项和简约界面。

         

    要求

         
        
    1. 控件的WinForms版本使用.NET Framework 2.0
    2. 实现   
    3. 控件的WPF版本使用.NET Framework 4 Client Profile
    4. 实现         

      这两个版本都是使用x86平台目标构建的。