ce_fono
2015年9月10日 11時52分
セントラルエンジニアリングの本田です。
Armadillo-840液晶開発モデルのLCDの一部分に映像を座標オフセット付きで表示しようと、手始めに以下のコマンドを試しましたがエラーとなり実行出来ませんでした。
Armadillo-840同梱のvideoboxには制限事項があるのでしょうか。代替策があれば教示下さい。
GStreamerは勉強中なのでコマンドが間違っているのかもしれません。ご指摘頂ければ幸いです。
実行したコマンドとエラー表示です。
[root@armadillo840-0 (ttySC2) ~]# gst-launch-1.0 videotestsrc ! video/x-raw,width=400,height=240 ! videobox left=-20 right=-380 top=-220 bottom=-20 ! video/x-raw,width=800,height=480 ! fbdevsink device=/dev/fb0 Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data flow error. Additional debug info: gstbasesrc.c(2812): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: streaming task paused, reason not-negotiated (-4) ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... [root@armadillo840-0 (ttySC2) ~]#
同様のコマンドをUbuntu 14.04で試すと期待通りの表示が行われます。画像キャプチャを添付します(videobox_ubuntu1404.jpg)。
gst-launch-1.0 videotestsrc ! video/x-raw,width=400,height=240 ! videobox left=-20 right=-380 top=-220 bottom=-20 ! video/x-raw,width=800,height=480 ! autovideosink
双方のGStreamerのバージョンを比べました。
Armadillo-840 gst-inspect1.0 1.0.8 videobox 1.0.8 Ubuntu 14.04 gst-inspect1.0 1.2.4 videobox 1.2.4
よろしくお願い致します。
ファイル | ファイルの説明 |
---|---|
videobox_ubuntu1404.jpg | Ubuntu 14.04 videobox テスト画像 |
コメント
ce_fono
お世話になります、本田です。
> 問題を切り分けるために、まずは標準イメージに書き直して動作確認していただけますか?
標準イメージでは正常に表示されました。
基本を忘れてしまい申し訳ございません。
> また、LCD に表示するのであれば /dev/fb1
だと思うのですが、
> これは、カーネルの書き換えなどによる意図的なものでしょうか?
はい。LCD表示用のLCDCを2画面合成に設定して使用しています。
/dev/fb0 LCD カメラ等映像表示用 RGB565 /dev/fb1 LCD Qt GUI表示用 RGB24 /dev/fb2 HDMI
表示できなかった原因は弊社装置の/dev/fb0の色空間RGB565にvideoboxが非対応だった為でした。
パイプラインのvideoboxの前後にvideoconvertを挿入することで表示に成功しました。
gst-launch-1.0 videotestsrc ! video/x-raw,width=400,height=240 ! videoconvert ! videobox left=-20 right=-380 top=-220 bottom=-20 ! video/x-raw,width=800,height=480 ! videoconvert ! fbdevsink device=/dev/fb0
at_shota.tamura
2015年9月11日 10時08分
田村です。
全く同じパイプラインをこちらの Armadillo-840 で試してたところ、動作しました。
添付の写真のような表示で期待通りかと思います。
このことから、gstreamer 1.0.8 による制限とは考えにくいです。
動作確認に使用したイメージはすべて、
現在 Armadillo サイト [1]で公開されている標準イメージを使いました。
* 使用したイメージ
- kernel: linux-a840-v1.11.bin.gz
- userland: romfs-a840-v1.09.img.gz
- bootloader: loader-armadillo840-nor-v3.6.0.bin
問題を切り分けるために、まずは標準イメージに書き直して動作確認していただけますか?
また、LCD に表示するのであれば
/dev/fb1
だと思うのですが、これは、カーネルの書き換えなどによる意図的なものでしょうか?
[1]: http://armadillo.atmark-techno.com/armadillo-840/downloads