🌊

DeepStream 備忘録 vol1

2022/12/12に公開

最初に

これは私がDeepStreamを触っているうちに、はまったことや困ったことを忘れないように記録するために書いたものです。
ですので、初歩的なミスなど経験者にとってはイマイチな情報が多いと思うので、経験者の方はブラウザバックを推奨します。
もしくは、誤りなどを指摘していただけると非常に助かります。

deepstream-test4(python.ver)を動かしてみた

環境(参考までに)

  • 実行: dGPU (Jetsonではないので、注意)
  • DeepStream: 6.1
  • CUDA: 11.6
  • Python: 3.8
  • OS: ubuntu18.04

はまったこと

  • 以下のようなエラーが出て、サンプルアプリが動かない
0:00:05.246080380 1921629      0x2fc2ea0 WARN                 nvinfer gstnvinfer.cpp:2300:gst_nvinfer_output_loop:<primary-inference> error: Internal data stream error.
0:00:05.246101971 1921629      0x2fc2ea0 WARN                 nvinfer gstnvinfer.cpp:2300:gst_nvinfer_output_loop:<primary-inference> error: streaming stopped, reason not-negotiated (-4)
Error: gst-stream-error-quark: Internal data stream error. (1): gstnvinfer.cpp(2300): gst_nvinfer_output_loop (): /GstPipeline:pipeline0/GstNvInfer:primary-inference:
streaming stopped, reason not-negotiated (-4)

原因

sink = Gst.ElementFactory.make("nveglglessink", "nvvideo-renderer")

上記のグラフィカル出力が失敗している
(特に、Python版では可能性が高い)

解決方法

  • fakesinkにする
sink = Gst.ElementFactory.make("fakesink", "fakesink")

のように変更すれば、ディスプレイ出力はなくなるが、アプリケーションは動くようになった。

感想

GstreamerやDeepStreamに触り始めて経験が浅いため、まだまだ環境構築など初期段階で躓いていることが多いですが、少しづつ分かってきたような気がする。(こういう時が一番躓きやすいとわかってるつもりですが。)
余裕があれば、別で躓いたGstreamerのsinkとEOSの関係なんかも記事にしたいかなと思ってます。

Discussion