プログラムでAVIの最初のフレームを取得し、ビットマップイメージを取得してプレビューを表示する方法があるのだろうかと思っていました。 SilverlightのMediaControlは、Silverlightでサポートされているビデオファイルのプレビューを表示しますが、AVIは表示しません。私はSilverlight環境にあるため、アンマネージコードやライブラリを使用することはできません。私はファイルストリームにしかアクセスできません。SilverlightでAVIの最初のフレームのビットマップを取得する
答えて
SilverlightランタイムはAVIファイルをネイティブにサポートしていないため、MediaElementで使用することはできません。
実際には、AVIファイルを手作業で解析し、そのファイルからフレームを取り出す必要があります。フレームを解析する時点に達すると、潜在的に少し難解になります。
Silverlight 2でこの作業を行う予定の場合、AVIファイルにはWMVフレームまたはフレームがSilverlightのサポートされている画像形式(JPGまたはPNG)のいずれかに含まれている必要があります。 WMVで作業していた場合は、MediaStreamSourceをセットアップし、最初のサンプルとしてMediaStreamSourceに目的のビデオフレームを渡します。イメージフォーマットの1つで作業している場合は、Imageを使用し、そのソースをストリームに設定する必要があります。 Joe Stegmanがこれを使用してSilverlight 2が非ネイティブのimage formatsをサポートするのを助ける例を見ることができます。
これはSilverlight 3(これは現在ベータ版です)では一般的には同じですが、メディアフォーマットのサポートは、WMVに加えてH264、Raw YV12、Raw ARGBフレーム。同様に、イメージングのフロントで、フレームを描画するために使用できるWriteableBitmapがあります。
ビデオがTheora、Divx、Xvid、VP6などの場合は、そのフレームをデコードしてSilverlightに表示できるようにする必要があります。
類似の質問がSilverlight forumに掲載されました。フォーラムスレッドにはコードサンプルが含まれています。
最初の数フレームがフェードインするか、ビデオをあまり表現していない可能性があるため、フレームをビデオにさらに追加したい場合があります。
エンコーディングによっては、AVIファイルがMediaPlayerクラスで読み込めないことがあります。 (互換性のあるエンコードについては、hereを参照してください)。これを行うには、マネージコードでビデオをトランスコードする必要があります。独自のデコーダを見つけたり書いたりしない限り。
- 1. .aviからフレームを取得する
- 2. ビデオの最初のフレームを取得する - サムネイル解像度 - iPhone
- 3. AVCaptureVideoDataOutputから最初のフレームを正しく取得する - AVFoundation
- 4. PHPで.flvの最初のフレームのスナップショットを取得するには?
- 5. OpenCVを使用して.aviビデオからフレームを取得
- 6. ビットマップ(640x480)をAVIファイルにプッシュするVisual C++ AVIライター機能?
- 7. 最初のフレームのクラス。
- 8. ウェブカメラから最新のフレームを取得
- 9. 最初のレコードを取得する
- 10. の取得データ最初
- 11. ブラウザウィンドウのビットマップを取得
- 12. Javaの - 私は別のフレームを呼び出し、最初のフレームからフレーム
- 13. 大きいGIFから最初のフレームを取得する(最適な時間に)
- 14. SDカードのビットマップIDを取得する
- 15. DBの最初と最後のレコードを取得する方法
- 16. オブジェクトの最初と最後のプロパティを取得するには?
- 17. 前週の最初と最後の日を取得する
- 18. テーブルの最初と最後の行を取得するクエリ
- 19. 木の後でObservableの最初の放射を取得する
- 20. EXTJS4 - GridPanelの最初のレコードを取得
- 21. リンクハッシュマップの最初の項目を取得
- 22. 最初のスレッドの結果を取得
- 23. jpegフレームで.avi、.mp4ファイルを作成するには?
- 24. ユニティ・アニメーターデフォルトのレイヤー状態が最初のフレームでフリーズする
- 25. Javascript - ルート親フレームへのフレーム要素のコーディネーションを取得する
- 26. Dwooで配列の最初の要素を取得する
- 27. グループ内の最初のNULLでない値を取得する
- 28. jspでリストの最初の要素を取得する方法
- 29. Pythonでドメインリストの最初のバイトを取得する方法
- 30. 私の最初のMaven、Springプロジェクトでorg.springframework.beans.factory.BeanCreationExceptionを取得する