AForge FileVideoSource类视频文件问题

问题描述 投票:1回答:1

我遇到了AForge nuget中的FileVideoSource类的一些问题。我目前能够从笔记本电脑摄像头捕捉视觉并检测其上的运动。现在我想做同样的事,但是使用文件中的视频,但我甚至无法访问视频并显示它。

我有以下代码:

...
private void button1_Click(object sender, EventArgs e)
{
   // var existTest = File.Exists("test.avi");
   var videoFile = new FileVideoSource("test.avi");
   videoFile.NewFrame += new NewFrameEventHandler(video_NewFrame);
   videoFile.Start();
}

private void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
   var img = eventArgs.Frame;
   pictureBox1.Image = img;
}

调试后,我确保自己找到了文件(使用File.Exists()方法检查),但在此之后几乎没有任何事情发生。我试图在video_NewFrame FrameEventHandler中设置断点,但它永远不会到达。

我也尝试过.mpg文件而不是.avi。同样的情况。我可以用WMP播放这两个视频文件,所以我认为这不是编解码器问题。两个视频文件都存储在我的输出Debug文件夹中。

谁能帮帮我吗?

c# aforge
1个回答
0
投票

我有同样的问题。事实证明,编解码器是罪魁祸首。尝试从https://www.codecguide.com/download_k-lite_codec_pack_mega.htm下载它们

我的第一步(不是第一步:))捕获视频错误:

fileVideo.VideoSourceError += new VideoSourceErrorEventHandler(videoSource_Error);

        private void videoSource_Error(object sender, VideoSourceErrorEventArgs eventArgs)
        {
            Console.WriteLine(eventArgs.Description);
        }

我得到“在给定的源中找不到可接受的输出视频引​​脚”,然后我安装了编解码器,视频正在播放。

© www.soinside.com 2019 - 2024. All rights reserved.