从生成的位图图像创建视频c#

时间:2012-07-13 18:53:00

标签: c# wpf video bitmap

我正在尝试使用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;
}

我正在尝试播放视频(类似于流媒体)而不将其保存在计算机上。对此直接展示必须吗?我迫切需要你的帮助,我的截止日期快到了!

1 个答案:

答案 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