跨平台C#Media API

时间:2011-11-21 18:14:37

标签: c# .net mono ffmpeg

我正在尝试在mono / .net对象中定义一个VideoFile,以便我可以调用

var file = new VideoFile(filepath);
file.VideoDuration 

是否存在可以跨平台mono / .net工作的库(操作系统或商业版),可以提供VideoDuration等信息。我现在唯一能做的就是包装ffmpeg.exe并读取控制台的输出。

1 个答案:

答案 0 :(得分:6)

GStreamer是不错的选择,它是一个跨平台的多媒体框架。并且有一些符合您需求的绑定:通过.NET API访问您需要的信息(视频文件的长度):GStreamerSharp

实际上,我们实际上在Banshee Project中使用它,这是一个用C#编写的媒体播放器(这是Ubuntu中捆绑的默认音乐播放器)。

BTW,GStreamer的构建方式是编解码器是插件,所以你可以在它们的内部(即ffmpeg)之间进行抽象,其他插件可以根据你的许可/格式需求来实现。