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