• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

wizzのブログ一覧

2021年03月04日 イイね!

画面描画のテスト

NTSCコンポジット出力を想定して、解像度はやや小さめの 720x480pxとして作ることにした。とりあえず、フレームバッファに書き込むサンプルコードを書いて、録画のテストまで完了。

フレームバッファのライブラリは、下記を採用した。最初、SDLを使おうかと思ったけど、SDLは遅かったので却下した。

http://www.fgrim.com/mgrx/

dispmanx_vncとの共存のトラブルは、HDMIケーブルの抜き差しに伴うものと判明。tvserviceコマンドやら config.txtやらで、設定を固定にすると不具合はなくなった。

実行方法は下記、実行結果は下図の通り。

1) 解像度を 720x480pxに固定する
2) raspividでカメラ映像を表示し続けるようにする
3) framebufferに文字を描き続ける
4) dispmanx_vncで VNCサービスを立ち上げる
5) telepiで録画する




RaspberryPi Zero Wで、CPU負荷率は最大で 80%ぐらい。dispmanx_vncを止めると、45%ぐらいになる。あとは、基板が届き次第、CANやら ISO9141のプロトコル周りを実装して完了。

我ながら、超高速だと思う。もしかしたら、世界最速?の RaspberryPi Zeroドライブレコーダかもしれない。
Posted at 2021/03/04 02:35:00 | コメント(0) | トラックバック(0) | 日記
2021年03月03日 イイね!

telepi

dispmanxを使って h264の動画ファイルを作るソフトウェアがあった。これで、カメラ映像、文字描画、キャプチャまで、CPU負荷率 50%程度以下で実現できた。素晴らしい。dispmanx_vncと組み合わせると、WiFi経由で映像を飛ばすこともできた。素晴らしい。

https://github.com/DougGore/telepi


telepiをそのまま使うと、フレームレートがちょっとおかしくなる。

telepi.c 91行目に frame rateが 30fpsとして記述されているけれど、これを 60としてコンパイルする。生成された h264ファイルを MP4のコンテナ形式とするとき、MP4Boxで下記のようにする。

$ MP4Box -fps 60 -add src.h264 dst.mp4


このままだと、30fpsなら MP4Boxでも -fps 30を指定したら良いのではないかと思うかもしれないけど、どういうわけか 60fps以外ではフレームレートがおかしい。CPU負荷も低いし、これ以上の調査はメンドウなので、とりあえず 60fpsとして使うことにしよう。
Posted at 2021/03/03 21:07:06 | コメント(0) | トラックバック(0) | OpenSSM | 日記
2021年03月03日 イイね!

dispmanx_vnc

dispmanx_vncを使用すると、HDMIに出力される内容を丸ごと VNCで出力できた。frame bufferも GPUも両方とも取得できた。RaspberryPi Zero Wを使用して、WiFi経由の 15fpsで、CPU負荷は 85%ぐらい。フレームレートは、ソースコード中に固定値が記載してあり、30fpsの転送もできた。

しかし、長時間の転送を行うと、画面が化ける。raspividと dispmanx_vncで同一メモリを読み書きしている影響か、それともソフトウェアの不具合か。single coreだから、今の段階ではソフトウェアの不具合か、GPUの send/recvあたりの不具合の可能性が高そう。

いずれにせよ、HDMI / NTSCに出力しながら、同時にVNCにも出力できれば、何かしらの手段で mp4も生成できそう。車両に取り付けた際には、適当な液晶モニタを取り付けて表示させることもできそう。

https://github.com/hanzelpeter/dispmanx_vnc



Posted at 2021/03/03 12:45:10 | コメント(0) | トラックバック(0) | OpenPort | 日記
2021年03月02日 イイね!

RaspberryPi Zeroと GPU

だんだん、仕事並になってきた。

RaspberryPi カメラの映像をキャプチャして、文字や映像をオーバーレイして、それを mp4に生成したい。なるべく高速に。RaspberryPiで CPUを介すと、どうにも速度が上がらないことが分かったので、GPUプログラミングが必要っぽい。

とりあえず、試したことリスト

OpenCV遅すぎる
v4l2 & libjpeg-turbo遅い
raspivid & ffmpeg遅い


このスクリーンショットの通り、HDMI出力として動画を保存しないのなら、すでに十分に高速。CPU負荷率は、わずか 1%。問題は、RaspberryPi Zero単体で mp4まで生成したい、というところ。結構ハードル高いな。思い切り GPUプログラミングをやらないといけないかもしれない。

Posted at 2021/03/02 23:25:28 | コメント(0) | トラックバック(0) | OpenSSM | 日記
2021年03月01日 イイね!

ビデオキャプチャのサンプル

OpenCVを使ったビデオキャプチャと httpdサーバのサンプルを作ってみた。

/dev/video0のカメラをキャプチャして、画像に日付を入れて jpeg encodeして、その結果を httpによる Motion JPEGとしてブラウザに配信するというもの。マルチクライアントなので、録画は ffmpegに行わせて、同時に WiFi接続したブラウザからも参照できる。

とりあえず、640x480pxの解像度で、何もチューニングしないと 10fpsぐらい。CPU負荷はほぼ 100%。OpenCVのキャプチャに 30%、 jpeg encodeが 50%ぐらい。ffmpegは、jpegを mp4でコンテナして保存するだけなので、CPU負荷は低い。

これだと2020年代のソフトとしては恐らくイマイチだろうから、ここからどれだけ高速化できるか、ウデの見せ所でもある (^^; 大人しく RaspberryPi4を使うと、特段のチューニングを必要としないだろうなぁ...


Fig.1 make


Fig.2 ffmpeg


Fig.3 vmstat
Posted at 2021/03/01 19:54:35 | コメント(0) | トラックバック(0) | OpenSSM | 日記

プロフィール

「OEMassive USヘッドライトを投稿したら、愛車ランキング 5位になってた。びっくりだ。」
何シテル?   10/19 23:22
資格マニアで、大型・大特・牽引免許、一級小型船舶操縦士、一等無人航空機操縦士などを保有。超ド田舎で、カーライフ(スローライフ)をエンジョイしている、40代で自営...
みんカラ新規会員登録

ユーザー内検索

<< 2021/3 >>

  1 2 3 45 6
78 910 111213
14151617181920
21222324252627
28293031   

愛車一覧

三菱 デリカD:5 三菱 デリカD:5
8台目の愛車。人生 2台目の新車。最近は大雨・大雪・大地震などの災害が多いので、悪路走行 ...
スバル インプレッサ WRX STI スバル インプレッサ WRX STI
6台目の愛車。 SUBARU IMPREZA WRX STi R205 '10。GRB ...
マツダ T2000 マツダ T2000
7台目の愛車。MAZDA T2000 13尺 (TVA32S) です。レストア中...。 ...
トヨタ タウンエースワゴン トヨタ タウンエースワゴン
新車購入から、もうすぐ30万キロ。車庫付のため、内外装&機関絶好調! ディーゼル、5MT ...

過去のブログ

2025年
01月02月03月04月05月06月
07月08月09月10月11月12月
2024年
01月02月03月04月05月06月
07月08月09月10月11月12月
2023年
01月02月03月04月05月06月
07月08月09月10月11月12月
2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
2021年
01月02月03月04月05月06月
07月08月09月10月11月12月
2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2019年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
2013年
01月02月03月04月05月06月
07月08月09月10月11月12月
2012年
01月02月03月04月05月06月
07月08月09月10月11月12月
2011年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation