FFMpegCore 是一个基于 .NET 的库,用于调用 FFmpeg 来处理音视频文件。它封装了与 FFmpeg 的交互,使得在 C# 或 .NET 项目中使用 FFmpeg 更加方便直观,而无需直接处理命令行语法。

主要功能

FFMpegCore 提供了一组强类型的 API,用于:

  • 转码(Transcoding)

  • 截取帧(Screenshots / Thumbnails)

  • 裁剪、缩放、旋转视频

  • 合并音视频流

  • 获取音视频文件的元数据

  • 与 FFprobe 交互,获取媒体信息

快速使用

基本转码

FFMpegArguments
    .FromFileInput("input.mp4")
    .OutputToFile("output.avi", true, options => options
        .WithVideoCodec("libx264")
        .WithAudioCodec("aac"))
    .ProcessSynchronously();

获取媒体信息

var mediaInfo = await FFProbe.AnalyseAsync("input.mp4");
Console.WriteLine(mediaInfo.Duration);

截取缩略图

FFMpeg.Snapshot("input.mp4", "thumb.png", new Size(320, 240), TimeSpan.FromSeconds(10));

您还可以从视频文件中捕获 GIF 快照:

FFMpeg.GifSnapshot(inputPath, outputPath, new Size(200, 400), TimeSpan.FromSeconds(10));


await FFMpeg.GifSnapshotAsync(inputPath, outputPath, new Size(200, 400), TimeSpan.FromSeconds(10));

await FFMpeg.GifSnapshotAsync(inputPath, outputPath, new Size(480, -1), TimeSpan.FromSeconds(10));

将视频部分合并为一个文件:

FFMpeg.Join(@"..\joined_video.mp4",
    @"..\part1.mp4",
    @"..\part2.mp4",
    @"..\part3.mp4"
);

将图像合并成视频:

FFMpeg.JoinImageSequence(@"..\joined_video.mp4", frameRate: 1,
    ImageInfo.FromPath(@"..\1.png"),
    ImageInfo.FromPath(@"..\2.png"),
    ImageInfo.FromPath(@"..\3.png")
);

FFMpegCore 功能非常强大,它适合想在 .NET 项目中集成视频处理功能的开发者,适合不想手动拼写复杂 FFmpeg 命令的开发者。

可以很方便的开发如视频转码服务、自动化内容处理系统、媒体平台后端等。 

项目地址

https://github.com/rosenbjerg/FFMpegCore

分享

点收藏 

点点赞

点在看

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐