Lance Fisher
Lance Fisher

Reputation: 25823

Accessing audio/video metadata with .NET

What is the best way to get and set the meta data for mp3, mp4, avi files etc. with .NET?

Upvotes: 11

Views: 24488

Answers (8)

Luke Vo
Luke Vo

Reputation: 20798

After struggling with NAudio (note that it can only run on Windows) and even TagLibSharp, I found out ATL .NET. What I love about it is it can work on Stream and it can detect formats as well.

  1. Install z440.atl.core Nuget package:
dotnet add package z440.atl.core
  1. Get the Track object and get as many information as you want:
var track = new Track(stream);

Console.WriteLine(track.Duration);
// More info

Upvotes: 1

Jon Galloway
Jon Galloway

Reputation: 53155

I've been looking at the NTag project as well, which handles MP3/WMA/OGG. I don't know of a single library that handles audio and video files, so you might have to use a few.

Upvotes: 3

Jarod Elliott
Jarod Elliott

Reputation: 15670

I've recently used Tag Lib Sharp to write some C# apps for cleaning up and maintaining my music library. I found the library very easy to use and although i've only used it for MP3's, it appears to support a range of other music/video formats.

Upvotes: 4

Alvin Ashcraft
Alvin Ashcraft

Reputation: 453

You can use free UltraID3Lib .NET library to read/write MP3 metadata.

Upvotes: 3

Orion Edwards
Orion Edwards

Reputation: 123692

I used COM interop to access DirectShow's Media Detector functionality.

This does work pretty well, but it's a right pain in the backside. You need to know lots about COM, win32 interop, and so on.

You can also use DirectShowNet which should handle most of that for you, I just didn't want to lug that whole thing around when I was only interested in the MediaDetector part

Upvotes: 1

sieben
sieben

Reputation: 2201

These are the example class files for different languages found in the MediaInfo.dll zip

  • MediaInfoDLL.cs
  • MediaInfoDLL.def
  • MediaInfoDLL.h
  • MediaInfoDLL.java
  • MediaInfoDLL.jsl
  • MediaInfoDLL.pas
  • MediaInfoDLL.py
  • MediaInfoDLL.vb
  • MediaInfoDLL_Static.h

You do have to use interop and I don't know if you can edit tags, I've never needed to do that but it's pretty much a swiss army knife at least for getting media information from files.

Link to downloads page (sourceforge)

MediaInfo_0.7.7.4_DLL_Win32.zip

Upvotes: 4

Jon Galloway
Jon Galloway

Reputation: 53155

Looks like MediaInfo is read-only at this point, by the way: http://sourceforge.net/forum/message.php?msg_id=4241318&abmode=1

Very cool project, though. It's fun finding out about all this cool stuff here on SO.

Upvotes: 1

sieben
sieben

Reputation: 2201

I use MediaInfo with my C# apps, gives you a lot of information about media files.

Upvotes: 6

Related Questions