問題タブ [dxva]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
video-capture - メディア ファンデーション: トポロジで DirectX サーフェスを提供するようキャプチャ デバイスに強制する
環境
DXVA を使用する MFT を作成しました。入力サンプルにIDirect3DSurface9
サーフェスが必要です。
この MFT を 3 つのノードのトポロジで使用します。
- キャプチャ デバイス アクティベーターから作成されたメディア ソースをラップするソース ノード、
- 私の MFT のインスタンスを含むトランスフォーム ノード
- EVR を含む出力ノード。
MF_TOPOLOGY_DXVA_MODE
属性を toMFTOPOLOGY_DXVA_FULL
およびMF_TOPOLOGY_HARDWARE_MODE
toトポロジに設定しMFTOPOLOGY_HWMODE_USE_HARDWARE
、メディア セッションを開始すると、MFT 内から D3DDeviceManager を受け取ります。
問題
入力サンプルがトポロジ内から MFT に到着したとき、それらには D3D サーフェスがアタッチされていません (失敗MFGetService
しMR_BUFFER_SERVICE
ます)。
トポロジーをまったく使用せず、同じメディア ソースから有効なMF_SOURCE_READER_D3D_MANAGER
.
質問
トポロジ内のソース ノード/キャプチャ メディア ソースで D3D サーフェスを使用してサンプルを生成することは可能ですか?
directx - WPF で複数のビデオをレンダリングする最良の方法
私は、DirectX、ビデオのレンダリング、画像のレンダリングなどに関連するすべてのことについて初心者です..だから私はあなたの助けが必要です:
私はWPFアプリケーションを持っています。このアプリケーションは、多数のビデオ (少なくとも 10 本のビデオを並行して) をレンダリングする必要があり、このビデオは CPU ではなく GPU でレンダリングする必要があります。すでに WPF-MediaKit を使用しようとしましたが、大量のメモリ (RAM) と CPU を消費します。WPF MediaElement も試してみましたが、大量のメモリ (RAM) も消費します。
だから、私の質問は次のとおりです 。1 - 可能な限り最小限のメモリで、GPU で同時に多くのビデオをレンダリングするアプリケーションをどのように構築しますか? どのような技術を使用しますか?
注: 連携する必要がある複数のテクノロジ/ツールを提案する場合は、それらがどのように連携するかを説明していただけますか? 例: ビデオをレンダリングして画面に表示するには、DXVA で EVR を使用する必要があります。...理由は ....または、アプリケーションの例をいくつか教えていただければ、非常に感謝しています.. :) (申し訳ありませんが、機能しています)低レベルではまだ少し難しいので、これについてのオリエンテーションが必要です)
c++ - LibVLC DXVA2 Windows C++ ハードウェア アクセラレーション
DXVA2 Accelerated デコーダーを使用して h264 RTSP ストリームをデコードしたいと考えています。VLCでは機能しますが、私のコードでは次の出力があります:
これは NV12 変換の問題ですか? DXVA2 を強制する方法はありますか?
ありがとう
コード:
完全なログ:
wmp - 複数のモニター ディスプレイを備えた Windows Media Player の DXVA2 Decoder MFT
Windows Media Player の中央をセカンダリ モニターにドラッグ (または開始) すると、DXVA2 デコーダーが「空白」になります。プライマリに戻すと、ビデオが再表示されます。D3DPRESENTFLAG_DEVICECLIP が設定されていないことに注意してください。
処理を必要とせずにこれが機能する方法を見つけたいと思っていますが、IDirect3DDeviceManager9::TestDevice( ) が DXVA2_E_NEW_VIDEO_DEVICE を返すことによって、この問題の通知を受け取ります。
IDirect3DDeviceManager9::CloseDeviceHandle / OpenDeviceHandle はそれをカットしない (ただし、MSDN は必要なものをすべて示している) ため、私のリセット ハンドラーは次のようになります。
そこで、新しい dx デバイスを作成しようとしました (デスクトップを hwnd として使用)。
しかし、IDirect3DDevice9::Reset() には満足できません。
また、DXVA2CreateDirect3DDeviceManager9 を使用して新しい IDirect3DDeviceManager9 を作成しようとしましたが、役に立ちませんでした。
ところで、初期化で問題なく IDirect3DDevice9::Reset() を使用し、後で同じ D3DPRESENT_PARAMETERS を使用するので、これらが問題だとは思いませんが、ここにあります (ポストコール)。
欠落しているものはすべてゼロです。
私はwin8とwin10で同じ問題を抱えています。
ヘルプ/ポインタをいただければ幸いです。
c# - WPF-Mediakit で ffdshow を使用する方法
デフォルトでは LAV Decoder ですが、デコーディングにはハードウェア アクセラレーションを備えた ffdshow を使用したいと考えています。ClassId.csファイルでこれらの行を見ました
使用されるデコーダーはMediaUriPlayerで定義されます
問題は、FFDShowVideoDXVA を有効にするにはどうすればよいかということです。デコーダーの正しい名前は何ですか?または、ここで完全に間違ったパスにいますか?
また、FFDShowVideoDXVA を有効にできた場合、ハードウェア アクセラレーションはデフォルトで有効になっていますか (そうでない場合、プログラムで有効にするにはどうすればよいでしょうか?
大変助かりました。
windows - dxva2 の場合に ffmpeg エラーに準拠
構成 ffmpeg:
エラーが発生しました:
私のシステムはwin10で、ffmpegは最新です。