GStreamer is a good option; it is a multimedia infrastructure with a cross-platform. And there are bindings that would suit your needs: access to the information you need (video length) through the .NET API: GStreamerSharp .
Indeed, we actually use it in the Banshee Project , a media player written in C # (which is the default music player bundled with Ubuntu),
BTW, GStreamer is archived in such a way that codecs are plugins, so you have an abstraction between internal elements (e.g. ffmpeg) that other plugins can execute depending on your licensing / format needs.
source share