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 ...
大変恐縮ですが、手順の誤り等、解決のための情報をご教示いただけますと幸いです。
何卒、よろしくお願い致します。
コメント
takahashi_ya_81
at_ohsawa様
いつもお世話になっております。
高橋です。
ご回答いただき、誠にありがとうございます。
カメラは複数試しておりまして、LogicoolのC920も含みます。
uvch264srcはBad Plug-insに含まれているようですので、後程、試してみたいと思います。
以下のURLを参考にして、gstreamerのバージョンを1.6.2にした環境で動作を確認しましたところ、
H.264の録画データの取得に成功しました。
(Debian環境でのセルフコンパイルで確認しました。)
https://armadillo.atmark-techno.com/comment/3805
gstreamerのバージョンアップを検討したいと思います。
今後とも、何卒、よろしくお願い致します。
at_ohsawa
2020年6月19日 19時05分
コマンドの前にGST_DEBUG=3 を付けて実行すると、エラーの原因が詳細に出力されます。
入力例
もしかしてなのですが、Logicool の C920系のカメラをお使いですか?
その場合GST_DEBUG=3で実行して下記のようなエラーが出ると思うのですが、このカメラのh.264ストリームの
仕様はすこし奇妙なので、A840のgstreamerでは対応できないようです。
試した事も実績もないのですが、過去に調べた時にはuvch264srcで取れたという報告がありました。
https://oz9aec.net/software/gstreamer/using-the-logitech-c920-webcam-wi…