atwiki
メニュー
ページ一覧
Never Stop Questioning

  • @メニュー
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • アップロードファイルから新規ページ作成
      • 他のホームページから引用して新規ページ作成
      • スレッド式掲示板から引用して新規ページ作成
    • アットウィキで新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • メニュー非表示でページ編集
    • ページ名変更
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
  • 表示
    • このウィキの全ページ一覧
    • 編集履歴のあるページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ツール
    • このウィキ内を検索
    • このウィキの管理者に連絡
    • このページを通報・違反報告する
  • ヘルプ
    • ご利用ガイド
    • ワープロモードご利用ガイド
    • 初心者ガイド
    • プラグイン一覧
    • よくある質問
    • 編集モードの違いについて
    • 不具合や障害を見つけたら
    • 管理・設定マニュアル

アットウィキホームへ
atwiki
  • @メニュー
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • アップロードファイルから新規ページ作成
      • 他のホームページから引用して新規ページ作成
      • スレッド式掲示板から引用して新規ページ作成
    • アットウィキで新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • メニュー非表示でページ編集
    • ページ名変更
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
  • 表示
    • このウィキの全ページ一覧
    • 編集履歴のあるページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ツール
    • このウィキ内を検索
    • このウィキの管理者に連絡
    • このページを通報・違反報告する
  • ヘルプ
    • ご利用ガイド
    • ワープロモードご利用ガイド
    • 初心者ガイド
    • プラグイン一覧
    • よくある質問
    • 編集モードの違いについて
    • 不具合や障害を見つけたら
    • 管理・設定マニュアル
  • このウィキに参加
  • ログイン

Never Stop Questioning

USBカメラによるストリーミング

メニュー
ここを編集

  • トップページ
  • 勉強したい事

統計・機械学習

  • 二項分布
  • ベータ分布
  • 正規分布
  • カルマンフィルタ
  • パーティクルフィルタ
  • EMアルゴリズム
  • PCA
  • Passive Aggressive
  • CRF
  • Reference

計算機

  • 仮想マシン
  • CQL

プログラミング

  • Install List
  • C++ Tips
  • Boost
  • Python Tips

  • Protocol Buffers
  • Message Queue

Raspberry Pi

  • USBカメラによるストリーミング

その他

  • Mac Tips
  • Emacs Tips
  • リバーシ


工事中

  • k-means
  • スペクトラルクラスタリング
  • TEXサンプル
  • エントロピー
  • SandBox

関係ない話題

  • 日本語の不思議

管理者用

  • *


プロフィール

但馬慶行
(TAJIMA Yoshiyuki)

機械学習とロボットを趣味で勉強中。
連絡先はトップページ




















※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

ここを編集

概略

USBカメラの画像をmjpg-streamerを使ってストリーミングする。

参考にしたページ

  • http://d.hatena.ne.jp/zfhrp7/20130227/1361936570
  • http://chicklab.blog84.fc2.com/blog-entry-51.html
  • http://shokai.org/blog/archives/6896
  • http://www.e-risingstar.com/wordpress/?p=650

ハードウェアとOS

  • PC: Raspberry Pi TypeB
  • OS: Wheezy Raspbian
  • USB HUB:ELECOM U2H-H4SBK
  • WiFiドングル: ELECOM LAN-W300N/U2SWH)
  • カメラ: HD Webcam C615(UVCに対応)

USBカメラの接続チェック

lsusbの確認

lsusbを打ってそれらしいデバイスが出ていなければまずNG。

ログの確認(ビデオデバイスのIDの確認)

接続直後に
sudo less /var/log/messages  | grep video
あたりを打ってvideo0とか引っかかるとOK。

mjpg-streamerの準備

aptするもの

  • subversion
  • imagemagick
  • libjpeg-dev (libjpeg8-dev)

svnするもの(mjpg-streamer)

svn co https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer mjpg-streamer

mjpg-streamerの構築

展開したディレクトリでmakeする。
(ほんとはmakeの対象CPUとかいじった方がよいのかもしんないが。。)
cd mjpg-streamer/mjpg-streamer
make

videodev.hがないというエラーがでる。この場合は、シンボリックリンクを張る模様(今回は張ってからmakeしたので必要だったか不明)。
ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h

mgpg-streamerの起動

sudo ./mjpg_streamer -i "./input_uvc.so -f 30 -r 180x120  -d /dev/video0 -y" -o "./outpu
t_http.so -w ./www -p 8080"  &

変えそうな設定項目としては以下:
  • {-f 30}がfps
  • {-r 180x120}がサイズ
  • {-d /dev/video0}がデバイス(/var/log/messageで確認したやつ)
  • {-y}がエンコードに関する指定(-yだとYUYV, ないとMJPEG)
  • {-p 8080}がサーバの待ち受けポート

ちなみに起動すると次のような出力がでる。
エラーとか書いてあって少しびっくりするがちゃんと動いている模様。
MJPG Streamer Version: svn rev: 3:172
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 180 x 120
i: Frames Per Second.: 30
i: Format............: YUV
i: JPEG Quality......: 80
i: The format asked unavailable, so the width 160 height 120 
Adding control for Pan (relative)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Tilt (relative)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Pan Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Tilt Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Pan/tilt Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Focus (absolute)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
mapping control for Pan (relative)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Tilt (relative)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Pan Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Tilt Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Pan/tilt Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Focus (absolute)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for LED1 Mode
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for LED1 Frequency
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Disable video processing
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Raw bits per pixel
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
o: www-folder-path...: ./www/
o: HTTP TCP port.....: 8080
o: username:password.: disabled
o: commands..........: enabled

mgpg-streamerの確認

http://(raspberry piのアドレス):8080/
にアクセスすると専用のページが出てくる。あと、
<img src="http://(raspberry piのアドレス):8080/?action=stream">
を埋め込むことで自由なページが作成できる。

mgpg-streamerの終了

普通にkillする。sudoで起動しているのでsudoでpsしないと出てこないのに注意。
面倒なのですこし危険だけど以下をスクリプトにして対応。
sudo pkill mjpg_streamer
ツイート
このエントリーをはてなブックマークに追加
  • アットウィキ
  • 利用規約
  • プライバシーポリシー
© 2005- Atfreaks Limited.