問題タブ [nvdec]
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.
c++ - ランダム アクセスを使用した H264 のデコード
H264 ファイルのランダム フレームにアクセスし、デコードされた画像を Direct3D テクスチャにマップしたいと考えています。NVIDIA VIDEO CODEC SDKを使用しています。バージョン 8.0 に含まれていたNvDecodeD3D11サンプルを既に見つけており、それをクマの基本要素に落とし込みました。
基本的に、ファイルの中央から H264 をデコードするで提案されているのと同じアイデアを実現したいと考えています。
私のファイルは IDR フレームのみですが、P フレームを含めることもできます。
サンプルへの簡単なアクセス: Github
リンクされた質問のアイデアは理解できますが、これをどこでどのように実装するかわかりません。
ffmpeg - Nvidia GPU アクセラレーションを使用した Ffmpeg フレーム抽出で「出力ファイル #0 にストリームが含まれていません」というスローが発生する
ffmpeg で nvidia GPU アクセラレーション デコーダー API を使用して、ビデオ ファイル ( .MTS
) からすべてのフレームをフォルダーに抽出しようとしていますが、何らかの理由で失敗しているようです。答えや同様の問題が見つかりませんでした。
使用したコマンド:
ffmpeg -vsync 0 -hwaccel cuvid -c:v mpeg2_cuvid -i raw_video.MTS -q:v 2 -f image2 output_folder/image_%05d.jpg
トレースバック:
ファイルのプロパティでファイルの種類が MPEG-2 のように見えるため、正しいと確信-hwaccel cuvid -c:v mpeg2_cuvid
していますが、他の cuvid デコーダーでも同様の問題が発生します。
フラグなしで実行しようとしまし-c:v
たが、cuda エラーが発生し、CPU で実行されます。
[h264 @ 0x55949e6d7e00] decoder->cvdl->cuvidCreateDecoder(&decoder->decoder, params) failed -> CUDA_ERROR_INVALID_VALUE: invalid argument
[h264 @ 0x55949e6d7e00] Failed setup for format cuda: hwaccel initialisation returned error.
どんな助けでも大歓迎です。
編集:
- OS: アーチ Linux
- GPU: NVIDIA 1050Ti
- CUDA バージョン: 10.2
- NVIDIA-SMI: 440.82
編集2:
cuda - Nvidia NVDEC - デコードされたフレームを D3D11 NV12 テクスチャにコピー
NV12 NVDEC デコード バッファを NV12 d3d11 テクスチャに直接コピーしようとしています。これまでのところ運がありません。私がなんとかしたことは、2 d3d11 テクスチャ (ルマ + クロマ)、 2 cuGraphicsMapResources
、 2 cuGraphicsSubResourceGetMappedArray
、 2 CUDA_MEMCPY2D
、およびすべてをマージするピクセル シェーダーを使用したダブル ショット コピーです。シングル ショット コピーを実行する方法はなく、応答もありません。これまでのNVidiaフォーラムから。
この古い質問が非常によく似た問題に直面していることがわかりましたが、解決策もありません。