使用Forge的VideoFileWriter录制

使用Forge的VideoFileWriter录制,video,aforge,Video,Aforge,我无法从网络摄像头录制视频。我尝试实现VideoFileWriter,但不断出现错误,无法找到指定的模块。来自HRESULT的异常:0x8007007E。每当我注释掉录像机时,一切都很好,但是当我试图用录像机将其记录到硬盘时,我得到了错误。 我希望这是一个容易解决的问题。下面是我的代码 private FilterInfoCollection VideoCaptureDevices; private VideoCaptureDevice FinalVideoSource;

我无法从网络摄像头录制视频。我尝试实现VideoFileWriter,但不断出现错误,无法找到指定的模块。来自HRESULT的异常:0x8007007E。每当我注释掉录像机时,一切都很好,但是当我试图用录像机将其记录到硬盘时,我得到了错误。 我希望这是一个容易解决的问题。下面是我的代码

private FilterInfoCollection VideoCaptureDevices;
        private VideoCaptureDevice FinalVideoSource;
        Bitmap image;
        private VideoFileWriter writer;

        void VideoShow()
        {
            VideoCaptureDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            FinalVideoSource = new VideoCaptureDevice(VideoCaptureDevices[0].MonikerString);
            FinalVideoSource.NewFrame += new NewFrameEventHandler(FinalVideoSource_NewFrame);
            FinalVideoSource.DesiredFrameRate = 15;
            FinalVideoSource.DesiredFrameSize = new Size(1280, 800);
            FinalVideoSource.Start();
        }

        void FinalVideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            image = (Bitmap)eventArgs.Frame.Clone();
            pictureBox1.Image = image;
            writer.WriteVideoFrame(image);
        }

        public AForgeRecorder()
        {
            InitializeComponent();
        }

        private void btnStart_Click(object sender, EventArgs e)
        {
            writer = new VideoFileWriter();
            VideoShow();
            writer.Open(@"C:\testvvid.avi", 1280, 800, 15, VideoCodec.MPEG2, 128);
        }

        private void btnStop_Click(object sender, EventArgs e)
        {
            if (writer != null)
            {
                writer.Close();
            }
        }

提前感谢

这很简单,Afrog VideoFileWriter使用了FFMPEG.dll,因此下载FFMPEG zip,将binavcodec-53.dll中的所有5个dll复制到您的项目中,右键单击您的项目,单击添加现有引用,选择所有dll,使其属性始终复制,
+您需要.net 3.5或更低版本。因此,使用较低的框架很容易,Afrog VideoFileWriter使用了FFMPEG.dll,因此下载FFMPEG zip,将binavcodec-53.dll中的所有5个dll复制到您的项目中,右键单击项目,单击添加现有引用,选择所有dll,使其属性始终复制,
+您需要.net 3.5或更低版本。因此,使用较低的框架很容易,Afrog VideoFileWriter使用了FFMPEG.dll,因此下载FFMPEG zip,将binavcodec-53.dll中的所有5个dll复制到您的项目中,右键单击项目,单击添加现有引用,选择所有dll,使其属性始终复制,
+您需要.net 3.5或更低版本。因此,使用较低的框架很容易,Afrog VideoFileWriter使用了FFMPEG.dll,因此下载FFMPEG zip,将binavcodec-53.dll中的所有5个dll复制到您的项目中,右键单击项目,单击添加现有引用,选择所有dll,使其属性始终复制,
+您需要.net 3.5或更低版本。因此,请使用较低的框架

这可能是因为缺少一个本机DLL,而AForge程序集依赖于该DLL。下载dependency walker并在其中加载程序集,直到找到罪魁祸首。这可能是因为您缺少一个依赖于某个大程序集的本机DLL。下载dependency walker并在其中加载程序集,直到找到罪魁祸首。这可能是因为您缺少一个依赖于某个大程序集的本机DLL。下载dependency walker并在其中加载程序集,直到找到罪魁祸首。这可能是因为您缺少一个依赖于某个大程序集的本机DLL。下载dependency walker并在其中加载程序集,直到找到罪魁祸首。是否有针对.NET 4+的解决方案?我在哪里可以得到DLL?ffmpeg现在捆绑在一个exe文件中?是否有针对.NET 4+的解决方案?我在哪里可以得到DLL?ffmpeg现在捆绑在一个exe文件中?是否有针对.NET 4+的解决方案?我在哪里可以得到DLL?ffmpeg现在捆绑在一个exe文件中?是否有针对.NET 4+的解决方案?我在哪里可以得到DLL?ffmpeg现在捆绑在一个exe文件中?