Dotnetラッパー(directShow-lib 2005)を使用してWindowsのDirectShowコンポーネントを使用してmp4ファイルの期間を見つけようとしています。しかし、私が使用した方法は、IMediaSeekingインターフェースのGetDurationでした。ただし、これは期間としてゼロを返します。
検索した後、私は次のステートメントを見つけました:
「コンテナに入っているかどうかは関係ありません。パーサー/リーダーがあるかどうかだけが関係します。生のH.264ファイルを読み取るためのストックDirectShowパーサーはなく、サードパーティ製のパーサーも考えられません。また、IMediaSeekingがこのようなrawファイルで機能するかどうかは、実装によって異なります。最後に、ほとんどのH.264関連のフィルターはMPEG2VideoまたはVideoInfo2を使用し、どちらもMediaDetで機能しないため、グラフを自分で作成する必要があります。」
誰かがc#.netでこれを行うのを手伝ってくれませんか?