fkosu
2018年5月29日 13時43分
お世話になっております。小杉と申します。
Armadillo-840で液晶画面に動画を表示しつつ、画面上のボタンを操作し、例えばメッセージを変える等の操作を行うようなアプリケーションを考えております。
gst-launch-1.0を使用して映像の表示は出来ました。
それをQT内で行うにはどうしたら良いでしょうか?
参考となるサンプルや解説ページがあれば紹介して頂けると助かります。
(必ずしもQTである必要はないのですが、GUIの作成が容易なため、QTを希望します)
以上、よろしくおねがいします。
コメント
fkosu
お世話になっております。小杉と申します。
カメラ映像であったため、NEONで高速化する記事が参考になりました。
https://users.atmark-techno.com/blog/750/1385
大幅に速度改善を行うことができました。
ありがとうございました。
gstreamerの物より多少劣るので、そこを改善しようと思うと、gstreamerを使うしか無いのでしょうか?
(結構面倒そうなので、このままで良いかとも思っていますが)
at_ohsawa
> gstreamerの物より多少劣るので、そこを改善しようと思うと、gstreamerを使うしか無いのでしょうか?
> (結構面倒そうなので、このままで良いかとも思っていますが)
Qtへ貼り込んだ方がgstreamerでv4l2src->videoconvert->fbdevsinkするより
映像のFPSが低下するという意味でしょうか。
v4l2_camera_viewのコードに無駄があるので削ると少し改善するかもしれません。
v4l2_camera_view.cpp の void V4l2CameraView::capture() 内の memsetは全て不要なので
消すと少しコマ毎の処理が減ります。(殆んど認識できない差だと思いますが…)
もう1点、検証していないのですが、main_window.cpp でsetFpsというメソッドで
セットしているFPSをカメラのFPSの2倍にしておくとコマ落ちが減るかもしれません。
このFPSの値は前述のcaptureを動かすスレッドの呼び出し頻度を決定しています。
fkosu
at_ohsawa
2018年5月30日 14時38分
gstreamerで表示したい映像というのは、h.264で圧縮された映像でしょうか、
それともUSBやカメラインターフェース(CON8)等でしょうか。
カメラからの入力を表示するパターンの場合は、次の記事が参考になると思います。
https://users.atmark-techno.com/blog/750/1684
https://users.atmark-techno.com/blog/750/1385