Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
19
Help us understand the problem. What is going on with this article?
@shibabuki_yuta

Raspberry Piで音声付き動画を撮影する

More than 5 years have passed since last update.

背景

  • いまだにスプラトゥーンにはまっていて、今更だがプレイを振り返りたくなった。
  • HDMIキャプチャは持ってないけどRaspberry Piは持ってる。
  • 単純にプレイ動画として見たいので音声も欲しい。
  • ラズパイで映像を撮ることについて書かれた記事は多いけど音声付きはそれほど見ない気がする。

準備

20160511022151.jpg

必要な物はこちら

  • Raspberry Pi2 Model B (OSはRaspbian)
  • Raspberry Piカメラモジュール
  • USBマイク
  • USBハブ(セルフパワーのもの)
  • カメラ固定できる何か

必須ではないが使ったもの

  • HDMIケーブルとディスプレイ(映像確認用)
  • LANケーブル(SSHでログインして作業する場合)

ケーブルが多いのとカメラを丁度いい位置に固定するのが面倒...

マイクの接続を確認

録音にはarecordコマンドを使用します。
-lオプションでサウンドカード一覧を表示してUSB接続しているマイクが認識できていればOKです。

pi@raspberrypi ~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Device [USB PnP Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

カメラモジュールの接続確認

映像にはraspividコマンドを使用します。
ディスプレイに繋がっていればraspividを実行するとプレビューが表示されるので、とりあえずデモ実行して使えることを確認します。

pi@raspberrypi ~ $ raspivid -t 10000 -d

動画を撮影する

2通りの方法を試してみました。
動画のエンコーディングにはffmpegを使用します。
室内なのでraspividのawbオプションで光源の設定をしてますが必須設定ではありません。

  • 映像、音声を取得しながらエンコードする
raspivid -t 0 -w 640 -h 480 -b 10000000 -fps 30 -awb fluorescent -o - | \
   ffmpeg -y -ac 2 -f alsa -ar 16000 -i plughw:1 -r 30 -i pipe:0 -vcodec copy test.mkv
  • 撮影と録音を同時に行いそれぞれをファイルに保存して、後から結合する
raspivid -t 0 -w 640 -h 480 -b 10000000 -fps 30 -awb fluorescent -n -o test.h264 | \
   arecord -D hw:1,0 -f S16_LE -r 16000 -d 0 test.wav;
ffmpeg -y -i test.wav  -r 30 -i test.h264  -vcodec copy test.mkv

前者の方法だとALSA buffer runとメッセージが出てそのタイミングで動画がわずかに飛びますが対応はこちらの記事で紹介されています。
http://technologicaladvance.blog.fc2.com/blog-entry-99.html

またどちらの方法も共通で、raspividで指定するfpsとffmpegの映像データに指定するfpsを同じ値にする必要があります。
ここが違う値になっていると音ズレが起こります。

raspividに-nを付けると画面全体が黄色くなった

-nはプレビューを非表示にするオプションなのですが、上記2つの実行コマンドで-nをつけると白い壁が黄色になる現象が起きました。
原因が全くわかっていないので分かる方教えていただけると幸いです。

動画を再生する

omxplayerコマンドでコマンドラインから動画再生することができます。
音声と映像はそこそこの質でしたが、raspividでの撮影時のオプションによって画質や色合いが変わるので調整が必要そうです。

pi@raspberrypi ~ $ omxplayer test.mkv

まとめ

  • Rasberry PiのカメラモジュールとUSBマイクの組み合わせで音声つき動画が撮れる。
  • この後はIkaLogを通じて映像解析してみたい。
  • マイクを介するのでゲームの音以外が入る。音質も良くしたい。デジタル入力とかできるんだろうか?
19
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
19
Help us understand the problem. What is going on with this article?