【问题标题】:How to merge video frame and audio signal in to single stream[Accord]?如何将视频帧和音频信号合并为单个流[Accord]?
【发布时间】:2023-03-19 18:43:01
【问题描述】:

我正在使用 Accord 框架捕获视频和音频。

           //accord video
            videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);
            videoSource.NewFrame += new NewFrameEventHandler(video_NewFrame);

            //accord audio
            // Create default capture device
            audioSource = new AudioCaptureDevice();
            // Specify capturing options
            audioSource.DesiredFrameSize = 4096;
            audioSource.SampleRate = 22050;

            audioSource.NewFrame += audioSource_NewFrame;



        // capture audio frame
        private void audioSource_NewFrame(object sender, Accord.Audio.NewFrameEventArgs eventArgs)
        {
            // Read current frame...
            Signal s = eventArgs.Signal;
        }

        private void video_NewFrame(object sender, Accord.Video.NewFrameEventArgs eventArgs)
        {
            // get new frame
            Bitmap bitmap = eventArgs.Frame;

        }

现在我可以通过audioSource_NewFramevideo_NewFrame 两个不同的事件捕获视频和音频。

我想将上面的视频帧和音频合并为一个对象进行视频通话,请问方法是什么?

【问题讨论】:

  • 你有解决办法吗?

标签: c# .net accord.net


【解决方案1】:

您必须在这两种方法中使用 VideoFileWriter 类实例。

这是音频:

_videoWriter.WriteAudioFrame(e.Signal);

这里是视频:

_videoWriter.WriteVideoFrame(bitmap, offset);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-16
    • 2019-03-17
    • 2021-11-20
    • 1970-01-01
    • 2016-05-30
    • 2012-03-08
    • 2016-06-13
    • 1970-01-01
    相关资源
    最近更新 更多