問題タブ [vaapi]
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.
gstreamer - 警告: 誤ったパイプライン: 要素「vaapidecode」がありません
この行を実行すると
このエラーが発生しました
警告: 誤ったパイプライン: 要素「vaapidecode」がありません
gstreamer - Gstreamer プラグインのランクを変更するにはどうすればよいですか?
vaapi プラグイン セットをダウンロードしてコンパイルしました。特定のケースではうまく機能しますが、既存のパイプラインの多くが壊れます。最初に他のデコーダーを使用するように Gstreamer を変更したいと思います。
元のソースを変更せずに Gstreamer プラグインのランクを変更する方法はありますか?
opencv - appsrc および vaapiencode_h264 プラグインを使用する場合の GStreamer パイプラインの問題
Opencv フレーム (opencv camera Api 経由で作成) を受け入れ、それらのフレームを H264 フレームにエンコードした後、それらのフレームをネットワークに送信しようとするアプリに取り組んでいます。
このプロジェクトでは、ハードウェア経由でエンコードを実行するように依頼されました。
以下のパイプラインを使用して、送信機のビットをエンコードしました。
私のAppsrcのキャップは次のとおりです。
ただし、このパイプラインを実行しようとすると、次のエラーが表示されます。
libva 情報: VA-API バージョン 0.37.0
libva 情報: va_getDriverName() は 0 を返します
libva 情報: /usr/lib64/dri/i965_drv_video.so を開こうとしています
libva 情報: 初期化関数 __vaDriverInit_0_37 が見つかりました
libva 情報: va_openDriver() は 0 を返します
0:00:04.597696251 23508 0x7f724003f940 警告 GST_PADS gstpad.c:3739:gst_pad_peer_query: スティッキー イベントを送信できませんでした
0:00:05.030818739 23508 0x7f724003f940 WARN basesrc gstbasesrc.c:2933:gst_base_src_loop: エラー: 内部データ フロー エラー。
0:00:05.030864404 23508 0x7f724003f940 WARN basesrc gstbasesrc.c:2933:gst_base_src_loop:エラー: ストリーミング タスクが一時停止しました。理由はネゴシエートされていません (-4)
エラー : 内部データ フロー エラー。
0:00:05.032763231 23508 0x7f724003f940 WARN baseparse gstbaseparse.c:1155:gst_base_parse_sink_event_default: エラー: ストリームの終了前に有効なフレームが見つかりません
エラー : ストリームの終了前に有効なフレームが見つかりません
強調したように、パイプラインはネゴシエーションの問題により開始されません
Appsrc をテストしましたが、動作しているようです (データを受信しています)。
これを克服するために他のプラグインを提案できる人はいますか??
PS: カメラ v4l2src プラグインでこのパイプラインを試してみましたが、パイプラインは良好な状態で動作しているようです!
どんな助けでもいいです!
ありがとう !
c++ - Gstreamer Appsink がパイプラインからデータを取得しない
私はパイプラインを設計して、opencv アプリケーション (Web カメラから取得) からビデオ フレームをビデオ/x-h264 形式にエンコードし、ネットワーク経由で送信し、別のタイプのデバイス (おそらくラズベリー パイ) でデコードします。プロジェクトの適切な RGB ストリーム。
このために、ハードウェア アクセラレーション エンコーダーとデコーダーを使用することになっています。シナリオ全体が巨大であるため、現在の開発は gstreamer VAAPI プラグイン (vaapiencode_h264 & vaapidecode) を使用して Intel マシンで実行されています。また、TCPServer や UDPServer などのネットワーク プラグインを使用する必要がないという事実
このために、私は目的のために以下のパイプラインを使用しました: エンコーダ側:
Appsrc 部分は問題なく動作しますが、appsink 部分には問題があります。
このパイプラインのアプリシンク部分は、以下のキャップで設定されています。
"video/x-h264, format=(string){avc,avc3,byte-stream},alignment=(string){au,nal};video/mpeg, mpegversion=(int)2, profile=(string)simple "
私のappsinkのデータ抽出のコードは
パイプラインを起動し、アプリシンクでバッファがいっぱいになっていることを確認した後、コードの以下の行で無期限にスタックします。
次の質問があります: 1) 私の Caps for appsink は正しいですか? そうでない場合、どうすればそれらの上限を決定できますか? 2) 上記のパイプラインに何か問題がありますか?
Appsink でこの問題を解決するにはどうすればよいですか??
どんな種類の助けも役に立ちます!
ありがとう !!
c++ - VA-API が VMware Ubuntu インスタンスで実行できない
私のシステムは、Windows 10 ホスト上の VMware Workstation 12.0.1 で実行されている Ubuntu 15.10 であり、VAAPI に依存するプログラムを実行しようとしていますが、VAAPI の初期化に到達するとエラーが返されます。
実行するvainfo
と、同じエラーメッセージが表示されます。
問題は、システムに vmgfx_drv_video.so がないことです。リンクしようとしました/usr/lib/x86_64-linux-gnu/dri/vmwgfx_drv.so
が、役に立ちませんでした。
VMware ビデオ ドライバーを再コンパイルしましたが、不足しているファイルは見つかりませんでした。(次の手順に従います: http://www.mesa3d.org/vmware-guest.html )
私の質問は次のとおりです。VMware VA ドライバーはありますか。ある場合、それを入手する方法はありますか?
linux - eglCreateImageKHR が EGL_BAD_ATTRIBUTE エラーを返す
FFmpeg 経由で VAAPI を使用して Linux にハードウェア デコードを実装しました。私は OpenGL アプリケーションを持っているので、vaCopySurfaceGLX を使用して、デコードされた VAAPI サーフェスを OpenGL テクスチャに変換しています。(GPU 上に) コピーが作成されることを除いて、これは正常に機能しています。EGL を使用して、VAAPI サーフェスを OpenGL テクスチャとして直接使用できると言われました。いくつかの例 (主に Kodi ソース コード) を見てきましたが、EGLImageKHR を作成できません。関数 eglCreateImageKHR は 0 を返し、エラーをチェックすると EGL_BAD_ATTRIBUTE エラーが発生しますが、その理由がわかりません。
以下は、VAAPI サーフェスを変換する方法です。
初期化中に、次のように EGL をセットアップしました。
その後、EGL イメージを作成するために、次のようにします。
次のドキュメントhttps://www.khronos.org/registry/egl/extensions/EXT/EGL_EXT_image_dma_buf_import.txtでこのエラーの原因を調べて、次のオプションを追加しようとしましたが、私の形式は平面
私が使用しているコードは、私が見たすべての例に似ているため、エラーが何であるかわかりません。
この投稿のすべてのエラー チェックを削除したことに注意してください。上記のすべての呼び出しは、eglCreateImageKHR を除いて成功します。
virtual-machine - Virtualbox の GStreamer: libva 情報: va_openDriver() は -1 を返します
Virtualbox 5.0.4でGStreamer 1.2.4を使用しています。
単純なパイプライン ( videotestsrc ! autovideosink など) を開始すると、グラフィカル ハードウェア アクセラレーションの問題に関するエラーが発生します ( va_openDriver() は -1 を返します)。
GStreamer を virtualbox で動作させるにはどうすればよいですか?