Category : RaspberryPi
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
motionの記事は沢山あるので、今回はmpegstreamerを使ってネットワークカメラを作ります。

①必要なライブラリの取得
sudo apt-get -y install libjpeg8-dev imagemagick cmake
②コードの取得
git clone https://github.com/jacksonliam/mjpg-streamer.git
③ビルド
cd mjjpg-streamer/mjpg-streamer-experimental
make
④/dev/vchiqへのアクセス権追加
sudo chmod a+rw /dev/vchiq
⑤ストリーミング開始(今回は、解像度:1280×720、フレームレート:15 で設定しています)
export LD_LIBRARY_PATH=.
./mjpg_streamer -o "./output_http.so -w ./www -c 好きなUSER:好きなPASSWORD -p 好きなポート" -i "./input_raspicam.so -x 1280 -y 720 -fps 15"

sshから起動すると、ログアウト時にジョブが死ぬので、nohupを付けてストリーミングを開始してください。

以上です。
スポンサーサイト
いつも忘れてしまうので、メモ書き(もう!ゆってぃのお馬鹿さん!テヘッ!)

①sambaのインストール
 sudo apt-get -y install samba
②samba-common-binのインストール(smbpasswdコマンドを使用するため)
 sudo apt-get -y install samba-common-bin
③ファイルシステムのインストール
 sudo apt-get -y install ntfs-3g
④USB接続のHDDを指して、リブート
⑤マウント用ディレクトリの作成
 sudo mkdir /mnt/share
⑥NTFSでマウント
 sudo mount -t ntfs-3g /dev/sda1 /mnt/share
⑦sambaの設定
(1)念のため設定ファイルのバックアップを作成
  sudo cp -bp /etc/samba/smb.conf /etc/samba/smb.conf.org
(2)smb.confの書き換え(末尾に以下を追加)

[share]
path = /mnt/share
read only = no

⑧ユーザーの設定
 sudo smbpasswd -a XXXX(ユーザー名)

以上です。
こんばんは!
年明けから業務的に忙殺されかけているゆってぃです。

さて、今月のはじめに発表されたRaspberryPi2ですが、ようやくゆってぃもゲット出来ました。
とりあえずraspbianを入れて、どの程度スペックアップしたのか体感するために、初期設定後にxrdpでリモートログイン、ブラウザ立ち上げてみましたが、思いのほかサクっと動きます。
raspberrypi1くんはもはやNASと化していましたが、2号君はもっとガシガシ画像処理とかいける気配がします。
ちょっとワクワクが隠せませんが、今日はもう遅いので、明日以降、いろいろ触ってみたいと思います^^
すみません。
今回は備忘録です(汗)

phpmyadminをインストール後、ブラウザで設定画面を表示するための方法。
/etc/phpmyadmin/apache.confを編集して作ったapache用ファイルは、apache2.confでIncludeしないと反映されない。
そのため、phpmyadminをインストールした後、apache2.confに、次の行を追加する。

Include /etc/phpmyadmin/apache.conf

その後、apacheを再起動すれば、http://localhost/phpmyadminでログイン画面が表示されるようになる。

以上です。
こんばんは!
今月の21日で、とうとう29歳になってしまったゆってぃです(涙)
さぁ、いよいよ後がありません!
そろそろ本気で結婚したい…

さて



raspberry piでUSBカメラを使用する記事は、もはやすでに飽和状態です。
軽く見積もっても、ゆってぃの10倍はスキルの高い方々が、motionやffpmegを使った素晴らしい記事を沢山書いてくださっているので、いまさら僕が書いても仕方がないのですが・・・
やはり備忘録をかねて、本ブログにも書き綴りたいと思います><

ただ、多くの記事が音声なしでの記事のようでしたので、ここでは映像+音声を扱う方法を記載します。
と言っても、まだ全然うまく行っていませんが(涙)

(2014.01.30 おかげさまで、上手くいきました^ ^)

(1)USBカメラ(映像+マイク)
この方法は、ネット上でもいくつか拝見しました。
例えば、こんな感じで書きます。

ffmpeg -f video4linux2 -i /dev/video0 -f alsa -ac 1 -i hw:1,0 -f flv out.flv

しかし、僕の持っている安物USBカメラから映像と音声をv4l2とalsaで取得し、ffmpegでflv形式にエンコードしようとすると、VGAでは約1fpsになってしまいました…(涙)
h264形式でデータをくれる高級なカメラなら、また違った結果になるかもしれません。

(2)raspberrypiカメラモジュール(映像)+USBカメラ(マイクのみ)
(1)の方法で何がボトルネックかといえば、これはもう映像のエンコードだと思います。
ここで、raspberrypiはh264のハードウェアエンコーダを搭載しているので、映像のエンコードはすべてハードに任せることが出来ます。
ただし、ハードウェアエンコーダのAPIは公開されていませんので、ここではraspividコマンドを使用し、パイプを通じてffmpegに映像データ(h264)を渡すことにしました。

raspivid -t 0 -w 640 -h 480 -o - | ffmpeg -y -i - -f alsa -ac 1 -i hw:1,0 -vcodec copy -r:v 24 -s 640x480 -b:v 300k -ar 22050 -ab 64k -f flv out.flv

上記のコマンドを打つと、録画は開始されるのですがALSA buffer xrunというメッセージが…。
肝心の動画(音声)も、このメッセージが出るタイミングでわずかに飛んでしまうようで…(涙)
要するに、マイクから音声データをメモリに転送・バッファに展開される速度よりも、送られたデータを処理するほうが遅いため、バッファに貯まったデータが上書きされちゃってるということですね。
ちなみに、GPUに割くメモリを最小の16Mにしたところ、若干の改善が見られました。

でも、現状まだ全然うまくいってません><
もう少し頑張ってみよう。。。

----------------------

2014.01.30 追記

ALSA buffer xrunの発生を抑えることが出来ました!
何も指定をしないと、録音用デバイスからは最高のサンプリングレートでのデータがffmpegに送られてくるようです。
そのため、ffmpegのアプリケーションバッファがすぐにいっぱいになってしまい、オーバーランが多発していたようです。

-arオプションでサンプリングレートを変更できるのですが、これは-iオプションの手前に書くか、後に書くかで結果が変わってくるみたいです。

-iの前に書くと、ffmpegに対して入力側のサンプリングレートを設定します。
-iの後に書くと、出力側のサンプリングレートになります。

つまり・・・

raspivid -t 0 -w 640 -h 480 -o - | ffmpeg -y -f alsa -ac 1 -ar 8000 -i hw:1,0 -i - -vcodec copy -r:v 24 -s 640x480 -b:v 300k -ar 8000 -ab 64k -f flv out.flv

と書けば、入力・出力ともに8000Hzになります。
これで、(電話回線程度の音質にはなるものの)エラーなく録画をすることが出来ました^ ^

最後までお読みいただいて、ありがとうございました!
ご訪問者様
プロフィール

ゆってぃ

Author:ゆってぃ
経歴7年の組み込み系・制御系エンジニアです。
("ど素人"という文言は取りました…笑)
ソフトウェア開発経験ゼロの状態から、なんとか実務がこなせるようになってきた現在に至るまでの経験を、備忘録代わりに綴っていきたいと思います。
入門者の方、大歓迎!
(上級者の方、ごめんなさい…)

あと、ブログには全然関係ないですが、Bumpy Headというバンドのギターをやっています。
ライブ情報なんかも書いたりすることがあるので、その時に「行ってもいいよ~」といった感じのコメントを戴けると、泣いて喜びます(泣)
ブログ読んでくださってる方なら、チケット代サービスしちゃいます!

最後に…滅多に流用することは無いでしょうが、このブログに書かれているソースは、特に指定の無い限りMITライセンスとします。ただし、一部それ以外のものもございますのでご注意下さい。
※ブログのリンク先にあるコードに関しては、リンク先のポリシーに従ってください。

最新記事
最新コメント
カテゴリ
RSSリンクの表示
メールフォーム

名前:
メール:
件名:
本文:

twitter
リンク
ブロとも申請フォーム
スポンサードリンク


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。