2017年1月9日月曜日

ZYBO33 (OV7670用IPの作成 3)

IPの動作確認ができたので、カメラの画像をffmpegとffserverでencode & streaming してみた。
その為には何とかしてカメラの画像をffmpegに入力する必要があるが、ffmpegはfile formatにfbdev (Linux framebuffer)が指定できるので、カメラ用のframebufferを作ることにした。と言ってもやることは単純で、devicetreeにカメラ用のsimple framebufferの定義を追加するだけだ。bufferは0x1F500000番地からの領域とした。

Linuxの起動ログ … fb1が認識されている。

OS起動後、以下のプログラムでIPを起動する。
このプログラムを一度実行すると、IPが動作状態になりカメラの画像がframebufferに記録される。

・ffserverとffmpegの起動


・ ffserver.conf
ffserverを使うためにはffserver.confに各種パラメータの値を書く必要があり、標準的にはそれを/etcに配置する。今回は以下のように書いた。

codecはflvを使った。swfも指定してみたのだが、client側のブラウザで画像表示出来なかった。また、カメラからは640x480 30fpsで取り込んでいるがstreamingは320x240のサイズに縮小した。

ffmpegが動作している様子 ...  一応 framerate は30fpsにはなっている。


母艦PC上のブラウザからzyboのサーバーにアクセスして画像を表示させてみた。(その様子をvokoscreenで録画した。)

singlebufferなので時折、画像が乱れるが被写体の動きは滑らかだ。

zybo側のcpu負荷やmemory消費の状態





0 件のコメント:

コメントを投稿

自作CPUで遊ぶ 25

まだ制御ソフトが完成していないので今まではスピンドルを移動するために一々簡単なプログラムを書いて移動させていたのだが、非常に面倒なのでCNCペンダント的なものを作ることにした。 右側の縦に2つ並んでいるスイッチ...