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 件のコメント:

コメントを投稿

ERROR: Failed to spawn fakeroot worker to run ...

なにかと忙しくてなかなか趣味の時間を確保できない。 ...orz  家の開発機のOSはLinux Mintなのだが、最近バージョンを22に更新したところ、myCNC用のpetalinuxをビルドできなくなってしまった。ビルドの途中で ERROR: Failed to spawn ...