去年のクリスマス特別企画は、みずのさんが夢のストレージをテストしていましたが、いくら待っても私のところにはプレゼントを持ったサンタさんは来てくれなさそうです。しょうがないので、原稿ネタを集めるべく、寒風吹く中、ノートPCとデジタルカメラと三脚を抱えて撮影に行ってきました。
今回はUbuntuでのテザー撮影と、タイムラプス撮影についてお送りします。
テザー撮影って何?
テザー撮影とは、デジタルカメラとPCをUSBケーブルやWifiなどで接続して、撮影した画像をPCでリアルタイムに表示したり保存したりするような撮影方法のことです。英語で書けば「tether」=繋ぎ止める/係留するといった意味があり、スマホで使われる"テザリング"と同じ語源です。テザー撮影には、モニターが大きくピントや色などを確認しやすい、撮影と同時にPCに転送されるので後でコピーする手間がない、といったメリットがあるためプロのスタジオ撮影などでもよく使われています。個人でも、趣味の小物の撮影やオークションの出品物の撮影などに利用すると便利です。
テザー撮影向けのソフトでは、WindowsではCanonならEOS Utility、NikonならCamera Control Pro 2(有償) 、Adobe Lightroom(有償)などといったテザー撮影向けのアプリケーションがありますが、Linuxでテザー撮影を行うには、Entangle、gphoto2(コマンド) 、Darktableなどといったアプリケーションを利用します。
図1 テザー撮影の様子
Entangleをインストールする
Entangleはテザー撮影に対応したアプリケーションで、対応するカメラ[1] であれば撮影した画像をリアルタイムに表示でき、さらにCanonやNikonの一部のカメラではPC側でシャッターを押す機能も利用できます。2013年12月現在の最新版は0.5.4です[2] 。
http://entangle-photo.org/
では、Entangleのインストールを始めます。EntangleのUbuntuパッケージはgetdebサイトで配布されているので、getdebのリポジトリを登録してからインストールを行う必要があります。
下記のサイトを参考にしてインストールを行います。
http://www.getdeb.net/updates/Ubuntu/
左上のセレクトボタンから使用しているUbuntuのバージョンを選び、「 Click here to learn..」のリンクを開いて指示に従ってください。リポジトリの登録方法はgetdebパッケージをインストールする方法と、手動でリポジトリを追加する方法があるので好みのほうを選択してください。
図2 getdebからインストール
今回のテスト環境ではUbuntu 12.04を利用したので、端末で下記のように入力してリポジトリを登録します。“ precise” の部分はお使いのUbuntuコードネームに置き換えて入力してください。
$ sudo apt-add-repository 'deb http://archive.getdeb.net/ubuntu precise-getdeb apps'
次に、端末で下記のコマンドを入力してリポジトリのGPGキーを登録します。
$ wget -q -O- http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -
最後に、端末で下記のコマンドを入力してEntangleをインストールしてください。
$ sudo apt-get update
$ sudo apt-get install entangle
Entangleを使ってカメラと握手!
では、カメラとPCを接続してみましょう。カメラの電源を入れてPCとUSBケーブルで接続します[3] 。
PC側では、Dash検索や端末で「entangle」と入力してEntangleを起動します。自動的にカメラに接続されますが、うまくいかなければメニューより「カメラ」 →「 connect」でカメラと接続してください。
図3 カメラの選択
接続に問題がなければ、カメラ側のシャッターボタンを押して撮影してみてください。右側ペインに撮影した画像が表示されるはずです。
図4 左側ペインにカメラの情報が、右側ペインに画像が表示される
CanonやNikonの一部のリモート制御に対応したカメラでは、左側にカメラの撮影設定などが表示され、「 カメラ」 →「 キャプチャ」またはショートカットのSキーを押すだけでPC側から撮影することができます。Entangleに表示された画像を確認しながら、撮影設定を変更してSキーを押すだけで撮影できるので便利です[4] 。
図5 カメラのアイコンでも「キャプチャ」できる
[4] カメラ撮影設定の日本語翻訳の質が低いのはlibgphoto2によるものです。見える範囲の翻訳はLaunchpadで修正しておいたので、Ubuntu 14.04以降であれば少しはましになっているかと思います。あまり質が良いとは言えないので、写真用語などに詳しい方の翻訳の提案お待ちしてます。写真用語を知らないと難しく、「 Landscape」という単語を翻訳する際に、印刷などでの「横向き」と訳すと不正解で、カメラの撮影モードの「風景」が正解というケース等あるのです。
タイムラプス撮影って何?
タイムラプス撮影とは微速度撮影やインターバル撮影などとも呼ばれる撮影方法のことで、数秒や数分に1度という間隔で撮影することによって、ゆっくりした動きを高速に見せることができます。植物が芽を出してぐんぐん伸びていく様子や、雲や街中の人や車の流れを高速にした映像はどこかで見たことがあるのではないでしょうか? タイムラプス撮影は最近注目されており、カメラ自体にタイムラプス撮影機能を搭載したデジタルカメラまで発売されています[5] 。
タイムラプス撮影で動画を作成する場合、通常はデジタル一眼レフで撮影した数百枚~数千枚の画像を合成して作成します。これには理由があり、タイムラプス撮影を行うには、一定時間ごとに連続シャッターが切れることや、リモコンやPCを利用してリモート撮影が可能であることや、シャッターの耐久性などが必要なためです。また、画像がブレないようなるべくしっかりとした三脚を用意することも必要になります[6] 。
もしタイムラプス撮影を行うなら、事前にどのような映像を作りたいか考えて計算してから始めましょう。たとえば、TVと同じく約30fps(フレーム/秒)の映像を30秒作成する場合、30×30=900枚の画像が必要になります。仮に2秒ごとの間隔で撮影する場合は、900×2=1,800秒=30分の撮影が必要になります。被写体の動きによってはあまり撮影間隔が空くと動きがぎこちなくなるので、適切な間隔に設定してください。また、撮影枚数や撮影品質によってはデジタルカメラの記録メディア容量やバッテリー容量などの制限が出てきます。こちらも所有しているカメラに応じて適切な設定にしてください。
[6] 手軽にタイムラプス撮影を行う場合はタイムラプス機能搭載のデジタルカメラがお勧めですが、本格的に行いたい場合は状態の良いデジタル一眼レフの中古を狙うという手もあります。中古ならレンズ付きで2~3万円程度からあるので手が出しやすいですし、酷使して壊れてもあまり財布が痛くありません。
Ubuntuでタイムラプス動画を作る
残念ながら先ほどのEntangleではタイムラプス用のタイマー撮影はできないので、他のアプリケーションを使うことにします。Darktableでもタイマー撮影はできますが、ここではgphoto2コマンドを利用してタイマー撮影を行うことにします。
gphoto2をインストールします。
$ sudo apt-get install gphoto2
タイムラプス画像を保存するための任意のフォルダを作成して移動しておきます。
$ mkdir timelapse
$ cd timelapse
カメラとPCが接続されていることを確認し、カメラ側で撮影設定をきちんと行ったうえで、下記のようなコマンドを実行します。
下記の例では、-I 3は撮影間隔3秒、-F 500は撮影枚数500枚、--capture-image-and-downloadでキャプチャ画像をPCにすぐにダウンロード、ファイル名はsample000.jpgのように3桁数字の連番付き、というオプションを指定しています[7] 。
$ gphoto2 -I 3 -F 500 --capture-image-and-download --filename "sample%3n.jpg"
図6 gphoto2実行例
次に、画像を合成して動画を作成するためlibav-toolsなどをインストールします。
$ sudo apt-get install libav-tools libavcodec-extra-53
libav-toolsに含まれるavconvコマンドを使ってH.264形式の動画を作成します。これでsample.mp4という動画が作成されますので動画プレイヤーなどで再生してください。
下記の例では、-r 30で30fps、-i sample%03d.jpgで3桁の連番ファイル名、-c:v libx264でx264コーデック、出力ファイル名sample.mp4というオプションを指定しています。
$ avconv -r 30 -i sample%03d.jpg -c:v libx264 sample.mp4
動画作成の詳細なオプションは、man avconvやavconvのドキュメント[8] などを参照してください。また、いったんavconvコマンドで作成した動画を別の動画編集アプリケーションで加工することもできますので、必要に応じて使い分けてください。
タイムラプス撮影例
夜の空港で約1秒おきに約600枚撮影し、25fpsのH.264動画に合成したものです。
後半は少しかけ足でしたが、Ubuntuでもカメラを高度に扱う方法やタイムラプス撮影などで楽しむことができると知ってもらえたらと思います。お正月などで写真撮影の機会も多くなりますから、デジタルカメラで楽しくたくさん撮りましょう。皆さまにとって来年も良い年でありますように!