NugetにはFFMpegCoreというパッケージがあり、これを使って動画の情報を取得することが出来る。
参考
C#で動画ファイルの解像度やフレームレートなどを取得する【ffmpeg|ffprobe】
githubには機能の概要が網羅してある。
しかしながら、この際のffprobe.exeバイナリはアプリケーション直下に置いておかなくてはならず、参照pathを変更できないという欠点があると考えていた。
最近やっと変更する方法を見つけたので記述しておく。
というかgithub側にも書いてあった(Nugetから取得したので書いてあるかもという発想が無かった)。
具体的には
Path Configuration の項に記載してある。
Option 1として
`GlobalFFOptions.Configureをnewで書き込む方法`が提示してある(下記の方法とは微妙に違う)。おそらくどちらでもいい筈なので好みで。
public void displayMediaInfo(string setFile) FFOptions probe = new FFOptions(); probe.BinaryFolder = "dll"; var mediaInfo = FFProbe.Analyse(setFile,probe); }
これでOK。
サブディレクトリの「dll」フォルダにffprobeを置いておけばよい。
筆者環境のnuegetパッケージ(Visual Studio 2022)
公式ドキュメントには答えがそのまま書いてある事も多い。
特にandroidの公式ドキュメントはとても読みやすい。
MicroSoftが出すものは大体難解である。最近マシになったが。
あまりにも小ネタなのでQiitaから転載してます。