在 C# 中将视频转换为图像可以使用 FFmpeg 库。下面是一个示例代码来完成这个任务:
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
string inputFile = "input_video.mp4"; // 输入的视频文件路径
string outputFolder = "output_images/"; // 保存生成图像的文件夹路径
Process ffmpegProcess = new Process();
ffmpegProcess.StartInfo.FileName = "ffmpeg"; // 设置 FFmpeg 程序名称或者路径
ffmpegProcess.StartInfo.Arguments = $"-i \"{inputFile}\" -vf fps=10 \"{outputFolder}%d.jpg\""; // 指定参数,每秒提取一张图像并命名为 %d.jpg(%d 会被自动替换)
ffmpegProcess.EnableRaisingEvents = true;
ffmpegProcess.Exited += (sender, e) => Console.WriteLine("FFmpeg process exited.");
ffmpegProcess.ErrorDataReceived += (sender, e) => Console.WriteLine($"FFmpeg error: {e.Data}");
ffmpegProcess.OutputDataReceived += (sender, e) => Console.WriteLine($"FFmpeg output: {e.Data}");
ffmpegProcess.Start();
ffmpegProcess.BeginOutputReadLine();
ffmpegProcess.WaitForExit();
}
}
上述代码通过调用 ffmpeg
进行视频到图像的转换。需要确保已经安装了 FFmpeg,并且将其添加到系统的 PATH 变量中。此外,还需要创建一个目录作为输出图像的保存位置。
本demo下载: http://download.csdn.net/download/djk8888/88927065