gpt4 book ai didi

c# - 在录制视频ffmpeg中增加fps

转载 作者:行者123 更新时间:2023-12-04 23:27:12 35 4
gpt4 key购买 nike

我需要以全高清 30 fps 录制来自 2 个摄像机的 2 个视频。
我使用 ffmpeg 和包装器 - Aforge for c#。

初始化设备:

        _videoCaptureDevice = new VideoCaptureDevice(deviceName);
_videoCaptureDevice.VideoResolution = _videoCaptureDevice.VideoCapabilities[0];
_videoCaptureDevice.DesiredFrameRate = _fps;
_videoSourcePlayer.VideoSource = _videoCaptureDevice;
_videoCaptureDevice.NewFrame += _videoCaptureDevice_NewFrame;
_videoSourcePlayer.Start();

保存帧
        if (_videoRecordStatus == VideoRecordStatus.Recording)
{
_videoFileWriter.WriteVideoFrame(eventArgs.Frame);
}

和初始化文件编写器
            _videoFileWriter = new VideoFileWriter();
_videoFileWriter.Open(_fileName, _videoCaptureDevice.VideoResolution.FrameSize.Width,
_videoCaptureDevice.VideoResolution.FrameSize.Height, 30, VideoCodec.MPEG4, 10 * 1000 * 1000);

现在 _videoCaptureDevice.VideoResolution.FrameSize 等于 1280x720 和 640x480(用于第二个设备)。但是我已经有录音的问题了。 480p 的最大 fps 为 24,720p 的最大 fps 为 13-14(当我尝试同时从 2 个摄像机录制视频时)

如何增加它?
还是不可能?也许更强大的计算机会解决这个问题(我有 Pentium(R) Dual-Core CPU 2.50Ghz 和通常的视频卡(Geforse 8500 GT),用于使用两个显示器,通常是 hdd,usb 2.0)?

我会很高兴任何帮助(可能是另一个库,但不是语言(c#))

附言
我已经使用 Emgu.CV 并面临类似的问题..

最佳答案

帧率受硬件限制。

使用 AMCap 图表编辑 检查您的相机真正支持什么。这将取决于选择的分辨率和输出格式(更高分辨率 -> 更低帧率)。

请注意,AForge 总是对可能导致过采样的所有分辨率使用最高值(例如:AForge 以 60Hz 生成帧,但相机在给定分辨率下仅支持 15Hz,因此图像大多是重复的。参见 here

也可以使用 进程浏览器 分析器 看看你的 CPU 到底有多忙以及它在做什么。

关于c# - 在录制视频ffmpeg中增加fps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40463464/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com