我正在尝试在mono / .net对象中定义一个VideoFile,以便我可以调用
var file = new VideoFile(filepath);
file.VideoDuration
是否存在可以跨平台mono / .net工作的库(操作系统或商业版),可以提供VideoDuration等信息。我现在唯一能做的就是包装ffmpeg.exe并读取控制台的输出。
答案 0 :(得分:6)
GStreamer是不错的选择,它是一个跨平台的多媒体框架。并且有一些符合您需求的绑定:通过.NET API访问您需要的信息(视频文件的长度):GStreamerSharp。
实际上,我们实际上在Banshee Project中使用它,这是一个用C#编写的媒体播放器(这是Ubuntu中捆绑的默认音乐播放器)。
BTW,GStreamer的构建方式是编解码器是插件,所以你可以在它们的内部(即ffmpeg)之间进行抽象,其他插件可以根据你的许可/格式需求来实现。