Armadilloフォーラム

アットマークテクノが提供するコンテナ上でgstreamerをインストール方法

thile

2023年4月11日 14時39分

こんにちは!

カメラからの写真をデスクトップモニターで表示したいんですが、gstreamerをインストールする時、エーラーが発生されていました。
最初、Armadillo-IoT ゲートウェイ G4 コンテナ からat-debian-image-v1.0.9.tarをダウンロードして、

[armadillo ~]# podman load -i at-debian-image-v1.0.9.tar

のコマンドを実施して、images作成できました。その後、「https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…」の9.3.2項目のとおりにやります。

[armadillo ~]# podman_start gst_example

のコマンドを実施する時、エーラーがあります。

error: device /dev/v4l/by-path/platform-xhci-hcd.1.auto-usb-0:1.1:1.0-video-index1 does not exist

その後、/dev/v4l/by-path/のディレクトリをチェックしたら、

armadillo:~# ls /dev/v4l/by-path/
platform-32c00000.bus:camera-video-index0 platform-vpu_v4l2-video-index0
platform-32e00000.isi:m2m_device-video-index0 platform-vpu_v4l2-video-index1

platform-xhci-hcd.1.auto-usb-0:1.1:1.0-video-index1のファイルがありません。その後、gst_example.confファイル上でplatform-xhci-hcd.1.auto-usb-0:1.1:1.0-video-index1のところの代わりにplatform-32c00000.bus:camera-video-index0を修正しました。
次は、コンテナに行きます。

[armadillo ~]# podman_start gst_example
[armadillo ~]# podman exec -ti gst_example bash
[container /]# apt update
[container /]# apt install gstreamer1.0-imx gstreamer1.0-imx-tools \
gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad

ここでエーラーも発生されていました。

dpkg: error processing archive /tmp/apt-dpkg-install-a129Og/21-iso-codes_4.6.0-1_all.deb (--unpack):
cannot copy extracted data for './usr/share/locale/sc/LC_MESSAGES/iso_3166-2.mo' to '/usr/share/locale/sc/LC_MESSAGES/iso_3166-2.mo.dpkg-new': failed to write (No space left on device)
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)

結局はインストールが失敗しました。
この問題について解決がありますでしょうか?

よろしくお願いいたします。

コメント

at_akihito.irie

2023年4月11日 14時54分

入江です。

> platform-xhci-hcd.1.auto-usb-0:1.1:1.0-video-index1のファイルがありません。その後、gst_example.confファイル上でplatform-xhci-hcd.1.auto-usb-0:1.1:1.0-video-index1のところの代わりにplatform-32c00000.bus:camera-video-index0を修正しました。

もしかするとplatform-32e00000.isi:m2m_device-video-index0も必要になるかもしれません。
今の設定でうまく行かなかった場合は試してみてください。

> dpkg: error processing archive /tmp/apt-dpkg-install-a129Og/21-iso-codes_4.6.0-1_all.deb (--unpack):
> cannot copy extracted data for './usr/share/locale/sc/LC_MESSAGES/iso_3166-2.mo' to '/usr/share/locale/sc/LC_MESSAGES/iso_3166-2.mo.dpkg-new': failed to write (No space left on device)
> dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)

コンテナの保存先がeMMCでなくtmpfs(メモリ)になっているかも知れません。

コンテナから出てArmadillo Base OS上で以下のコマンドを実行してみてください。

[armadillo]# abos-ctrl podman-storage --status

Currently in tmpfs mode, run with --disk to switch
と表示されている場合は、コンテナの保存先がtmpfsになっています。

以下を参考に、コンテナの保存先をeMMCに変更してください。
https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…

thileです。

返信ありがとうございます。

> 以下を参考に、コンテナの保存先をeMMCに変更してください。
> https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…

コンテナの保存先をeMMCに変更した後、gstreamerインストールできました。
USBカメラを接続する時、/dev/v4l/by-id/のディレクトリの中にusb_Camera_V20210907-video-index0のファイル出てきます。それで、gst_example.confファイルの中、
add_device /dev/v4l/by-id/usb_Camera_V20210907-video-index0 /dev/video3
を修正しました。その後、コンテナに行って、gst-launch-1.0を使って、画出しできました。しかし、FFCカメラを接続する時、/dev/v4l/by-id/のディレクトリの中に何も出てこないので、gst_example.confファイルの中、
add_device /dev/v4l/by-path/platform-32e00000.isi:m2m_device-video-index0 /dev/video3
を使っていますが、
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device '/dev/video3' is not a capture device
のエーラーを出てきて、画出しできないです。質問ですが、FFCカメラに対してやり方はUSBカメラと違いますか?画像出力できない原因はカメラのドライバーのせいでしょうか?(自分でビルドしました。)

よろしくお願いいたします。

at_akihito.irie

2023年4月13日 10時20分

入江です。

何点か確認させてください。

1. 可能であれば接続したいFFCカメラの型番などの詳細を教えてください。

2. USBカメラとFFCカメラは同時に利用したいのですか?

3. ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device '/dev/video3' is not a capture device
表示された時の実行したgstreamerのコマンド(パイプライン)を教えてください。

4. ドライバをご自身でビルドされたそうですが、お客様の変更前後の差分を教えてください。
(dtsとカーネルコンフィグレーションを変更したくらいでしょうか?)