C# ffmpeg海康摄像头视频录制保存为MP4可以直接播放
时间: 2024-09-27 13:03:34 浏览: 64
C# ffmpeg拉流 Opencv定时间保存为MP4 播放
在C#中,你可以利用FFmpeg库来处理海康摄像头的视频录制并将其保存为MP4格式,这是一个常见的实时视频捕获和编码过程。以下是基本步骤:
1. 首先,确保已安装FFmpeg库,并且可以在命令行或PowerShell中访问它。通常需要将FFmpeg添加到系统的PATH环境变量中。
2. 使用NuGet包管理器,在项目中安装`NAudio`和`FFmpeg.AutoGen`库,它们可以帮助你处理音频和视频操作。
```csharp
Install-Package NAudio
Install-Package FFmpeg.AutoGen
```
3. 编写代码片段,创建FFmpeg的`Process`实例,指定输入设备(海康摄像头)、输出文件以及输出格式(MP4)。这里是一个简单的示例:
```csharp
using FFMpeg;
using System.Diagnostics;
// 创建FFmpeg进程实例
string ffmpegPath = "ffmpeg.exe"; // FFmpeg的路径
ProcessStartInfo psi = new ProcessStartInfo(ffmpegPath)
{
Arguments = $"-i {deviceInput} -c:v libx264 -preset veryfast -crf 23 -c:a copy output.mp4",
RedirectStandardOutput = true,
RedirectStandardError = true,
CreateNoWindow = true
};
// 运行FFmpeg
using (var process = new Process())
{
process.StartInfo = psi;
process.Start();
// 监听输出和错误信息
Console.WriteLine("Recording started...");
process.StandardOutput.ReadToEnd(); // 输出日志
process.WaitForExit(); // 等待录制完成
if (process.ExitCode != 0)
throw new Exception($"FFmpeg exited with error code {process.ExitCode}");
}
```
在这个例子中,`deviceInput`是海康摄像头设备的URL或者文件路径。注意,具体的摄像头设备地址需要根据实际情况替换。
阅读全文