有没有办法在WPF(或WinForms)中播放rtsp://流?
我尝试了MediaElement
和MediaUriElement
,但没有一个有效。我也读过很多关于WMP能够播放rtsp的内容(也应该转换为MediaElement
),但实际上WMP并不能在Windows 7 x64上播放。我见过this,但我希望这不是一个明确的答案。
这与使用的视频编解码器有什么关系吗?
VLC播放rtsp流就好了。
我正在寻找WPF或WinForms组件或替代解决方案。
答案 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的流播放器控件,可以执行以下操作:
- 播放RTSP / RTMP视频流
- 检索控件显示的当前帧
醇>该控件没有其他依赖项和简约界面。
要求
- 控件的WinForms版本使用.NET Framework 2.0
实现- 控件的WPF版本使用.NET Framework 4 Client Profile
实现 醇>这两个版本都是使用x86平台目标构建的。