wrongwrongな開発日記

情報系大学院生の忘備録

【VB】GetDetailsOfメソッドでは確実に動画/画像の幅や高さを取得できない【.Net】

wrongwrong163377.hatenablog.com
この記事の続きみたいな記事です。

状況

調査結果では↓のように出ていました。
309:フレーム高
311:フレーム幅
これは動画のフレームの高さと幅を表していますが、この情報はファイルによっては入っていないことがあります。ファイルのプロパティを見てもフレーム幅や高さの情報が入っていないようなファイルがそうです。
どのようなファイルで入っていないことが有るかはしっかり調査していませんが、利用しようとした.movファイルには入っていませんでした。
どのファイルなら絶対にその情報が入っているか、という点についても調べましたが上手く情報が手に入らず……。ちょっと使うだけならともかく、確実に動いてほしいので困りますね。
OSのバージョンが変わるごとにiColumn番号と内容の対応が変わっていたり色々と突っ込みどころが有るとは感じていましたが、確実に内容が手に入るとは限らないなら、本当にGetDetailsOfメソッドは信頼できないなと。

対策

ffmpegを使えば取れることは分かりました。
OpenCVなど、別プログラムを利用したやり方は見つけましたが、Windowsの機能だけでやる方法は見つけられませんでした。