这个项目能做什么

Xabe.FFmpeg 提供了一个围绕 FFmpeg 和 FFprobe 可执行文件的 .NET 接口,而不是直接绑定到 libav 库。应用程序创建一个转换,可选地检查生成的参数字符串,并启动外部进程。这两个可执行文件必须可用;发现机制会检查配置的目录、应用程序目录和 PATH。可选的 Xabe.FFmpeg.Downloader 包可以检索选定操作系统的构建版本。 该 API 支持常见操作,例如 MP4、TS、WebM、OGV 和 GIF 输出;音频提取或添加;快照;分割和拼接;水印;HLS 捕获;以及将媒体或桌面输出发送到 RTSP。开发者可以探测媒体元数据,选择视频、音频和字幕流,设置编解码器和比特率,调整视频大小,应用滤镜,并控制覆盖行为。进度和进程输出事件被公开,并且支持管道视频输出。当安装的 FFmpeg 构建版本和主机支持时,硬件加速会传递给诸如 NVENC、QuickSync、VideoToolbox 和 VAAPI 等选项。对于不支持的选项,可以在输入之前或之后放置任意参数,并且可以在执行之前构建命令以供检查。 该包针对 .NET Standard 2.0,并在 Windows、macOS 和 Linux 上使用兼容的运行时运行。它适用于文件和流 URI,而不是内存缓冲区。下载器不允许固定任意 FFmpeg 版本。可用的编码器、解码器、滤镜和硬件加速取决于外部的 FFmpeg 构建版本。该包装器在 CC BY-NC-SA 3.0 下提供,用于非商业用途,并附带单独的商业许可证;FFmpeg 和 FFprobe 二进制文件带有自己的许可证。