まずは、前準備としてRaspberry Piにカメラモジュールが正しく接続されていることを確認しよう。
raspi-configを起動してEnable Cameraを<Enable>に設定し、ビデオ出力をH.264で圧縮して出力するコマンドraspividが使えることを確認しておく。
$ raspivid --helpカメラモジュールの確認が済んだら、次にLIVE555のソースをダウンロードして解凍する。解凍の結果、liveというディレクトリができる。
$ wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz$ tar zxvf live555-latest.tar.gzこのliveディレクトリに移動してコンパイルする。
$ cd live$ ./genMakefiles linux$ makeさらにtestRaspiのソースをこちらからダウンロードする。liveディレクトリでこれを解凍すると、その下にraspiディレクトリができる。このraspiディレクトリに移動する
$ tar xvzf testRaspi.tar.gz$ cd raspiこのraspiディレクトリにあるMakefileの一部を次のように変更する。
COMPILE_OPTS = $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DACCESS_CONTROLもう1つ、このraspiディレクトリにあるtestRaspi.cppの一部を次のように変更する。
#ifdef ACCESS_CONTROL // To implement client access control to the RTSP server, do the following: authDB = new UserAuthenticationDatabase; authDB->addUserRecord("pi", "raspberry"); // replace these with real strings // Repeat the above with each , that you wish to allow // access to the server.#endif最後にtestRaspiをコンパイルする。
$ makeコンパイルが成功するとカレントディレクトリにtestRaspiができているはずだ。これを実行するとH.264で圧縮されたカメラの映像がRTSPプロトコルによってストリーミング配信される。
$ raspivid -w 1280 -h 720 -fps 25 -b 10000000 -t 99999999 -o - | ./testRaspi"h264" stream, from the file "stdin"Play this stream using the URL "rtsp://192.168.1.80:8554/h264"(We use port 8000 for optional RTSP-over-HTTP tunneling.)PC上のVLCプレーヤーから、表示されたURL(この例ではrtsp://192.168.1.80:8554/h264)にアクセスして確認する。VLCプレーヤーは、ユーザ名とパスワードを聞いてくるので、上記のtestRaspi.cppに設定したもの(この例では、pi/raspberry)を指定する。
※この方法では、恐ろしく大きなdelay(10秒以上)が生じたが、こちらの方法ではもう少しdelayが抑えられた。