我正在尝试使用openCVSharp播放位图图像流,以从YUV生成位图。但我无法将其显示为视频。
我发现了一些关于将它用作AVI包装器here的链接以及更多保存在像here这样的硬盘上的链接,而FFMPEG可能在LINUX上运行得很好,但在Windows中却不太好用
我甚至尝试使用以下代码。但它只显示序列中的最后一帧,并且我没有使用MediaElement的URI,因为我的程序生成了位图。
image.source = ToBitmapSource(bitmapImage);
,其中
public static BitmapSource ToBitmapSource(System.Drawing.Bitmap bitmap){
IntPtr ip = bitmap.GetHbitmap();
BitmapSource bs = null;
bs = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(ip,
IntPtr.Zero, System.Windows.Int32Rect.Empty,
System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
return bs;
}
我正在尝试播放视频(类似于流媒体)而不将其保存在计算机上。对此直接展示必须吗?我迫切需要你的帮助,我的截止日期快到了!
答案 0 :(得分:-1)
您可以使用DispatcherTimer(相当于Winform中的Timer):
DispatcherTimer dt = new DispatcherTimer();
dt.Interval = 25; //25 ms --> 50 frames per second
dt.Tick += delegate(object sender, EventArgs e){
//get the image and display it
}
dt.Start(); //to start record