26

入力ビデオから単一のフレームを取得する関数を実装しようとしているので、それをサムネイルとして使用できます。

これらの行に沿った何かが機能するはずです:

// filename examples: "test.avi", "test.dvr-ms"
// position is from 0 to 100 percent (0.0 to 1.0)
// returns a bitmap
byte[] GetVideoThumbnail(string filename, float position)
{
}

.Net 3.0でこれを行う方法を知っている人はいますか?

正しい解決策は、この関数の「最良の」実装です。空白のフレームの選択を回避するためのボーナス ポイント。

4

5 に答える 5

10

私は(私が説明した単一の方法で)独自のスタンドアロンクラスを展開することになりました。ソースはここで見ることができます. メディア ブラウザはGPL ですが、そのファイル用に書いたコードがパブリック ドメインであることを嬉しく思います。directshow.netプロジェクトの相互運用性を使用しているため、コードのその部分を消去する必要があることに注意してください。

このクラスは DVR-MS ファイルでは機能しません。これらのファイルには直接表示フィルターを挿入する必要があります。

于 2009-01-07T02:14:09.763 に答える
7

このプロジェクトは AVI のトリックを行います: http://www.codeproject.com/KB/audio-video/avifilewrapper.aspx

他の形式の場合は、directshow を調べることができます。役立つプロジェクトがいくつかあります:
http://sourceforge.net/projects/directshownet/
http://code.google.com/p/slimdx/

于 2008-09-30T22:08:37.773 に答える
0

www.mitov.comには役立つライブラリがいくつかあります。これは Directshow 機能の一般的なラッパーであり、ビデオ ファイルからフレームを取得する方法をデモの 1 つが示していると思います。

于 2008-10-20T17:05:05.930 に答える
0

これも一見の価値があります。

http://www.codeproject.com/Articles/13237/Extract-Frames-from-Video-Files

于 2012-07-29T02:11:24.493 に答える