Armadilloフォーラム

Armadillo-810 USBウェブカメラからのデータ取得エラーについて

takahashi_ya_81

2020年6月19日 17時59分

いつもお世話になっております。
高橋と申します。

Armadillo-810にて、USBウェブカメラから映像データを、
gstreamerを使用して取得しようとしているのですが、エラーが発生していまして、
解決方法をご教示いただきたく、投稿させていただきます。

USBウェブカメラはH.264のデータ取得が可能なものを使用しています。

■事象発生までに行った手順
(カーネル、ユーザーランド、ファームウェアに最新のイメージファイルを書き込んだ状態で実行しました)
・OS起動後、uvc-gadgetをkillallにて停止。
・USBウェブカメラを接続し、/devにデバイスとして認識されたことを確認。
・動作確認用に以下のコマンドを実行。

gst-launch-1.0 v4l2src device=/dev/video5 ! video/x-h264,width=1280,height=720,framerate=5/1 ! fakesink dump=true

※/dev/video5は、USBウェブカメラを接続した際に認識されたものです。

コマンド実行後、以下のメッセージが表示されました。

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2812): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 20468333 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

大変恐縮ですが、手順の誤り等、解決のための情報をご教示いただけますと幸いです。

何卒、よろしくお願い致します。

コメント

at_ohsawa

2020年6月19日 19時05分

コマンドの前にGST_DEBUG=3 を付けて実行すると、エラーの原因が詳細に出力されます。

入力例

GST_DEBUG=3 gst-launch-1.0 v4l2src device=/dev/video5 ! video/x-h264,width=1280,height=720,framerate=5/1 ! fakesink dump=true

もしかしてなのですが、Logicool の C920系のカメラをお使いですか?
その場合GST_DEBUG=3で実行して下記のようなエラーが出ると思うのですが、このカメラのh.264ストリームの
仕様はすこし奇妙なので、A840のgstreamerでは対応できないようです。

v4l2 gstv4l2bufferpool.c:376:gst_v4l2_buffer_pool_set_config:<v4l2bufferpool0> missing GstMetaVideo API in config, default stride: 0, wanted stride 3840

試した事も実績もないのですが、過去に調べた時にはuvch264srcで取れたという報告がありました。
https://oz9aec.net/software/gstreamer/using-the-logitech-c920-webcam-wi…

takahashi_ya_81

2020年6月22日 14時58分

at_ohsawa様

いつもお世話になっております。
高橋です。

ご回答いただき、誠にありがとうございます。

カメラは複数試しておりまして、LogicoolのC920も含みます。
uvch264srcはBad Plug-insに含まれているようですので、後程、試してみたいと思います。

以下のURLを参考にして、gstreamerのバージョンを1.6.2にした環境で動作を確認しましたところ、
H.264の録画データの取得に成功しました。
(Debian環境でのセルフコンパイルで確認しました。)

https://armadillo.atmark-techno.com/comment/3805

gstreamerのバージョンアップを検討したいと思います。

今後とも、何卒、よろしくお願い致します。