如何导入实时视频流并捕获一帧

时间:2010-08-07 20:40:44

标签: c# video-streaming video-capture

如何从C#中的网络摄像头或视频捕获卡的视频源中捕获一帧?我想显示实时源,并且有一个方法需要一帧,并通过FTP或共享网络路径将其保存到远程服务器。

2 个答案:

答案 0 :(得分:3)

如果您能够直播视频直播,那么只需点击此代码按钮即可捕捉直播视频流:

private Capture capture = null;

private void btnStart_Click(object sender, System.EventArgs e)
        {
            try
            {
                if ( capture == null )
                    throw new ApplicationException( "Please select a video and/or audio device." );
                if ( !capture.Cued )
                    capture.Filename = txtFilename.Text;
                capture.Start();
                btnCue.Enabled = false;
                btnStart.Enabled = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show( ex.Message + "\n\n" + ex.ToString() );
            }
        }

答案 1 :(得分:0)

您可以使用OpenCV。如果你在StackOverflow上搜索,你会发现很多关于如何做到这一点的来源。

甚至还有OpenCV的.NET包装器,如opencvdotnetEmgu CV

您最终可能会使用库中的一些函数,例如cvCaptureFromCAM()和cvQueryFrame()。