2012-01-23 3 views
2

ビデオのフレームレートを取得し、ビデオのフレームをステップインし、WPFで作成されたビデオプレーヤーで後続のフレームをプリロードするフレームバッファーを設定する最も簡単な方法は何ですか?私はDirectShowについて知っていますが、ビデオのフレームを変更したい人にとっては、より便利なようです。私は、フレーム単位でビデオフレームをステップ実行し、特定のフレームに移動し、一度に再生する複数のビデオのフレームレートを標準化することができます(たとえば、10 fps、20 fps、30 fpsの3つのビデオは、 10 fpsで同時に再生)。WPFビデオプレーヤーのフレームにアクセスする

答えて

0

wpfのmediaplayerは、あなたが何をしているのか心配です。一番近いのは、フレームではなく、特定の時間を求めることです。

wpfmediakitを見てみると、フレーム単位でシークするカスタムプレーヤーを作成するための基礎となるかもしれませんが、ロングショットです。

は、さまざまなコーデックを超えるフレーム制御によるフレームを取得するには、あなたは、ステッピング フレーム上の情報は、の一番下に隠されているWPF

オーバーMSDNで
2

ためのセットアップされていないffmpegを使用する必要がありますアプリケーションは、フレームステッピンを行うことができる

https://msdn.microsoft.com/en-us/library/windows/desktop/ee892370(v=vs.85).aspx

:スクラブ操作に関するページg再生を のレートをゼロに設定してから、 のVT_EMPTYに設定されたPROPVARIANTをIMFMediaSession :: Startの呼び出しに渡します。もちろん

これらCOM interfacesであり、リンクはちょうどあなたのWPFアプリにドロップするほとんど準備ができているEnhanced Video Renderer(EVR)とWindows Media Foundationについて話しています。私はそれが質問者が探していたものであることを認識しています。

これはかなり巨大な挑戦ですが、Media FoundataionとEVRにアクセスするには、DirectShowLib.dllに呼び出すことによって、WPFでビデオをフレーム化することが可能です。このページの他の部分に記載されているWpfMediaKitを参照してください。


[編集:]フレームの詳細については、こちらをステッピング: https://msdn.microsoft.com/en-us/library/windows/desktop/bb530107(v=vs.85).aspx#implementingframestepping

1:ビデオファイルのジョグ制御ブラウジング

関連する問題