tetsuo.yamashita
2022年2月8日 19時30分
USB カメラ映像を VPU エンコードすることを目的に製品マニュアルを参照して試行していますが、GStreamer が利用できません。
作成したコンテナに入り、gst-launch-1.0 コマンドを実行するも command not found になります。
使用しているコンテナイメージは配布されている at-debian-image-v1.0.2.tar です。
GStreamer を使うには何か足りない手順がありますでしょうか?
「8.3. VPU や NPU を使用する」→「9.1.3. アットマークテクノが提供するイメージを使う」→「9.1.9.5. VPUを扱う」の手順で行っています。
また「9.3.2. GStreamer 実行用コンテナを作成する」も参考にしています。
以下、コンテナ作成時のスクリプトです。(.sh にして実行しています)
podman run -itd --name=gst_sample \ --env=XDG_RUNTIME_DIR=/tmp \ --env=LD_LIBRARY_PATH=/opt/firmware/usr/lib/aarch64-linux-gnu \ --device=/dev/dri \ --device=/dev/galcore \ --device=/dev/mxc_hantro \ --device=/dev/mxc_hantro_vc8000e \ --device=/dev/ion \ --device=/dev/input \ --device=/dev/tty1 \ --volume=/sys:/sys \ --volume=/dev:/dev \ --volume=/mnt:/mnt \ --volume=/run/udev:/run/udev \ --volume=/opt/firmware:/opt/firmware \ --cap-add=SYS_TTY_CONFIG \ localhost/at-debian-image:latest /bin/bash
以下、コンテナ作成時の標準出力です。
armadillo:~/my_script# ./make_gst_sample_container.sh [ 154.280490] IPv6: ADDRCONF(NETDEV_CHANGE): vethb65b6eb8: link becomes ready [ 154.287615] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 154.294182] cni-podman0: port 1(vethb65b6eb8) entered blocking state [ 154.300546] cni-podman0: port 1(vethb65b6eb8) entered disabled state [ 154.307057] device vethb65b6eb8 entered promiscuous mode [ 154.312468] cni-podman0: port 1(vethb65b6eb8) entered blocking state [ 154.318827] cni-podman0: port 1(vethb65b6eb8) entered forwarding state [ 154.540464] cgroup: podman (1469) created nested cgroup for controller "memory" which has incomplete hierarchy support. Nested cgroups may change behavior in the future. [ 154.555621] cgroup: "memory" requires setting use_hierarchy to 1 on the root [ 154.565052] cgroup: cgroup: disabling cgroup2 socket matching due to net_prio or net_cls activation [ 154.589546] kmem.limit_in_bytes is deprecated and will be removed. Please report your usecase to linux-mm@kvack.org if you depend on this functionality. c4ac2fd61bb87b8529ec809617c5f5bb86ddeed643f6c356830c5c5e0e9c0adf
以下、コンテナ作成後の podman ps です。
armadillo:~/my_script# podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c4ac2fd61bb8 localhost/at-debian-image:latest /bin/bash About a minute ago Up About a minute ago gst_sample
以下、コンテナに attach して gst-launch-1.0 実行です。
armadillo:~/my_script# podman attach gst_sample root@c4ac2fd61bb8:/# gst-launch-1.0 bash: gst-launch-1.0: command not found root@c4ac2fd61bb8:/#
以上、よろしくお願いいたします。
コメント
tetsuo.yamashita
> 製品マニュアルにパッケージをインストールするステップが抜けております。
>
> コンテナ内で次のコマンドを実行してください。
>
> # apt update > # apt install gstreamer1.0-imx gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-imx gstreamer1.0-x libgstreamer-gl1.0-0 libgstreamer-imx libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 gstreamer1.0-tools gstreamer1.0-imx-tools >
上記を実施し、GStreamer のインストールができました。
また、gst-launch-1.0 を用いて、任意の h.264 ファイルのデコード、HDMI 接続のディスプレイへの表示まで確認できました。
ありがとうございました。
at_ohsawa
2022年2月8日 20時22分
申し訳ございません
製品マニュアルにパッケージをインストールするステップが抜けております。
コンテナ内で次のコマンドを実行してください。
あるいは、デモアプリケーション本体が余計ですが次のパッケージを
インストールしても、上記相当のgstreamerのパッケージが依存するため
インストールされます。
マニュアルは改訂予定です。