2024年10月20日に撮影した3種のセットアップですが、
なかなか画像処理を進める時間がとれていません。彗星は時事ネタなので、本当はもっと早く仕上げたいのですが、まだ時間がかかりそうです。とりあえず処理が終わったものからブログ記事にしていくことにします。
今回、まずはタイムラプス映像を処理しました。
機材はシグマの50mmのレンズをF2.8で使いました。ISOは1600で固定、露光時間は最初1/4000秒、F11から始めて暗くなるごとにまずはF値を小さくしてF2.8まで行きます。今回使った画像はF3.5から2.8に至るまででした。F2.8になったところで、あとは露光時間を暗くなるごとに伸ばして、最後は2秒まで行って、この頃になると彗星もきちんと写っているので、あとは放置で撮影を続けました。連続撮影にはMagic Lanternを使っているので、PCなどは使っていません。画像はRAWのcr2フォーマットでSDカードに保存されます。保存された画像は492枚ありました。
画像処理は、今回は基本的にPixInsight (PI)を使いました。最後の動画を作るところでffmpegをPI内から呼び出して利用しています。
実際に使った画像は452枚。RAW画像なので、PixInsightで開くとBayer配列でモノクロに見えます。まずは、PixInsightでまとめてDebayerをかけます。パラメータはデフォルトです。
次にBlinkで動画にします。Blinkでそれらのファイルを開きます。
Blinkを使って全ファイルにオートストレッチをかけます。オートストレッチは2種類あって、
Blinkのオートストレッチボタンの列の、上から3つ目は、色バランスをリンクさせる(撮影時そのまま)か、リンク解除(ホワイトになるように整える)かが選べます。今回はリンクを外しましたが、後でここからさらに全画像にHistgramTransformをかけたので、どちらでも良かったかもしれません。
とりあえずこの時点で、右下の一番右端の撮影開始マークアイコンを押して、一旦動画にまでしてみました。この時点でもしffmpegがない場合は、別途インストールしてください。ffmpegがインストールされていても、実行ファイルをフルパスで入れないとうまく動画にできません。Macだと/usr/local/bin/ffmpegとかいうことです。
ファイルサイズを大きくしないように、デフォルトのpngではなくjpgをはき出したいので、一番下のファイル形式を.jpgに変更します。ffmpegのオプションは秒20コマのmp4ファイルにしたかったので、
-y -r 20 -i Blink%05d.jpg Blink.mp4
としました。
出来上がった動画を見てみると、炙り出しがまだ不足気味なのと、背景がグレーになってしまいあまり面白くなかったので、もう少しそれぞれの画像段階での処理を進めます。
多数の枚数の画像処理は、PixInsightの
次はProcessContainerです。
出来上がった動画を見てOKそうなら、最後に画像サイズを変更します。Macだとターミナルを開いて、出来上がった動画ファイルがあるフォルダに移動して、
ffmpeg -y -r 20 -i Blink%05d.jpg -vf scale=1920:-1 -b:v 20000k Blink.mp4
などとします。Blinkでこのコマンドを直接指定してやってもいいかもしれませんが、jpgファイルをまた出力することになるので時間がかかってしまいます。一旦jpgファイルが出力されて、もうjpgファイルレベルでの変更はないと思ったら、ffmpegを単独で走らせた方がいいでしょう。
もしjpg画像の最初の方を使いたくなくて、たとえばBlink00100.jpg以降のファイルのみ使いたい場合は
ffmpeg -y -r 20 -start_number 100 -i Blink%05d.jpg -vf scale=1920:-1 -b:v 20000k Blink.mp4
などとします。
今回は横幅を1920のHDMIサイズとし、ビットレートを20Mbpsとしています。最初453枚で作りましたが、上のコマンドで示したように初めの99枚を除いて処理したので、合計354枚の画像を使い、47.1MBの動画ファイルとなりました。できたmp4ファイルをYoutubeにアップロードしたものです。
最後に雲が流れる時くらいに、左側に少し天の川が入ってきています。
もし出来上がった画像のファイルサイズが大きいなどの場合や、フォーマットを変えたい場合は、Handbreakが便利です。でもこちらも時間がかかるので、ビットレートを変えたいだけとかならffmpegを再度走らせた方が速いかもしれません。
久しぶりの動画なので、メモがわりに作成方法を少し詳しく書いておきました。
まだ画像処理がたくさん残っています。次は何から手をつけようか?早めにやらないと時期も去ってしまいますが、焦っても仕方ないので、落ち着いて順次進めるようにします。
なかなか画像処理を進める時間がとれていません。彗星は時事ネタなので、本当はもっと早く仕上げたいのですが、まだ時間がかかりそうです。とりあえず処理が終わったものからブログ記事にしていくことにします。
今回、まずはタイムラプス映像を処理しました。
機材など
機材はシグマの50mmのレンズをF2.8で使いました。ISOは1600で固定、露光時間は最初1/4000秒、F11から始めて暗くなるごとにまずはF値を小さくしてF2.8まで行きます。今回使った画像はF3.5から2.8に至るまででした。F2.8になったところで、あとは露光時間を暗くなるごとに伸ばして、最後は2秒まで行って、この頃になると彗星もきちんと写っているので、あとは放置で撮影を続けました。連続撮影にはMagic Lanternを使っているので、PCなどは使っていません。画像はRAWのcr2フォーマットでSDカードに保存されます。保存された画像は492枚ありました。
画像処理は、今回は基本的にPixInsight (PI)を使いました。最後の動画を作るところでffmpegをPI内から呼び出して利用しています。
PIでの動画作成
実際に使った画像は452枚。RAW画像なので、PixInsightで開くとBayer配列でモノクロに見えます。まずは、PixInsightでまとめてDebayerをかけます。パラメータはデフォルトです。
次にBlinkで動画にします。Blinkでそれらのファイルを開きます。
Blinkを使って全ファイルにオートストレッチをかけます。オートストレッチは2種類あって、
- 真ん中の列の、一番上のボタンが個々の画像にあわせたオートストレッチパラメーターをするもので、画像ごとにそれぞれにパラメータが違うので時間がかかります。
- 真ん中の列の、上から2つ目のボタンが、ある画像でオートストレッチをして、そのパラメータを全画像に適用するもので、同じパラメータなので早く処理できます。
Blinkのオートストレッチボタンの列の、上から3つ目は、色バランスをリンクさせる(撮影時そのまま)か、リンク解除(ホワイトになるように整える)かが選べます。今回はリンクを外しましたが、後でここからさらに全画像にHistgramTransformをかけたので、どちらでも良かったかもしれません。
とりあえずこの時点で、右下の一番右端の撮影開始マークアイコンを押して、一旦動画にまでしてみました。この時点でもしffmpegがない場合は、別途インストールしてください。ffmpegがインストールされていても、実行ファイルをフルパスで入れないとうまく動画にできません。Macだと/usr/local/bin/ffmpegとかいうことです。
ファイルサイズを大きくしないように、デフォルトのpngではなくjpgをはき出したいので、一番下のファイル形式を.jpgに変更します。ffmpegのオプションは秒20コマのmp4ファイルにしたかったので、
-y -r 20 -i Blink%05d.jpg Blink.mp4
としました。
出来上がった動画を見てみると、炙り出しがまだ不足気味なのと、背景がグレーになってしまいあまり面白くなかったので、もう少しそれぞれの画像段階での処理を進めます。
PIでの他数枚の画像ファイルの処理
多数の枚数の画像処理は、PixInsightの
- ImageContainer
- ProcessContainer
が便利です。
- まずはImageContainerを開きます。そもそもImageContainerがどこにあるのか見つからないかもしれませんが、PIのメニューのProcessの一番下のところにポツンとあります。Process内に並ぶたくさんのグループの中には無いので注意です。
- 先ほどBlinkでストレッチまで済ませた多数のjpgファイルを、ImageContainerに登録します。
- さらに出力フォルダを設定します。その際、Outputl templatで出力ファイルのファイル名の指定を「&file name;&extension;」とします。そうするとファイル名がそのまま保持されるので、ffmpegで再度動画にするときに、そのまま同じコマンドが使えます。
- 次に、ImageContainerのインスタンスを作ります。左下の三角マークをマウスでクリックして、そのままマウそのボタンを離さずに、PI内の背景画面にドロップ (マウスを移動してマウスのボタンを離す) してください。
次はProcessContainerです。
- まずは、Blinkが出力したjpg画像のうち、適当な1枚をPixInsightで開きます。
- 今回はScreenTranserFunction(STF)を使いました。STFを立ち上げ、開いた画像を自分の好みの明るさとカラーバランスにします。
- 次にHistgramTransformation(HT)を開き、STFのインスタンス(左下の三角マーク)を、HTの下のバーに放り込みます。このように、バーに放り込むというのは、PixInsight独特の操作方法ですね。
- ProcessContainer(PC)を開き、今度は開いたPCの画面内に、先ほどのHTのインスタンスを投げ込みます。
- 最後に、ProcessContainerのインスタンスを、先ほど作ったImageContainerのインスタンスに投げ込みます。
実はHTだけならProcessContainerは必要なく、直接ImageContainerにHTのインスタンスを投げ込むだけでできるのですが、Script処理などのさらに複雑な処理を多数枚の画像に適用しようとするとProcessContainerが必要になります。なので今回は略さずに説明しましたが、面倒な場合はProcessContainerをスキップしても構いません。
実際の画像処理にはもっと凝ったことをやってもいいかもしれませんが、タイムラプス動画なのでこれくらいに抑えておこうかと思います。もう少しやるとしたらですが、見る限りノイズが結構多いので、もう少し1コマあたりの露光時間を伸ばしてもいいかもしれません。ただ、単に露光時間を伸ばすだけだと星が流れるので(まあ動画なので多少流れてもいいのかもしれません)、1コマの時間にあたる20秒内でもっと枚数をかせいで、1コマごとに10枚くらいをスタックするとかでもいいのかもしれません。もしくは、20秒の前後の画像を何枚か合わせてスタックして一コマを作り、その前後のファイルを少しづつずらしつつ重ねてノイズを減らすとかも面白いかもしれません。ただし、これ以上撮影枚数を増やすとなると、メカニカルシャッターの回数制限のこともあるので、デジタル一眼レフカメラよりは、フルサイズのカラーCMOSカメラが欲しくなってきます。
タイムラプス映像
出来上がった動画を見てOKそうなら、最後に画像サイズを変更します。Macだとターミナルを開いて、出来上がった動画ファイルがあるフォルダに移動して、
ffmpeg -y -r 20 -i Blink%05d.jpg -vf scale=1920:-1 -b:v 20000k Blink.mp4
などとします。Blinkでこのコマンドを直接指定してやってもいいかもしれませんが、jpgファイルをまた出力することになるので時間がかかってしまいます。一旦jpgファイルが出力されて、もうjpgファイルレベルでの変更はないと思ったら、ffmpegを単独で走らせた方がいいでしょう。
もしjpg画像の最初の方を使いたくなくて、たとえばBlink00100.jpg以降のファイルのみ使いたい場合は
ffmpeg -y -r 20 -start_number 100 -i Blink%05d.jpg -vf scale=1920:-1 -b:v 20000k Blink.mp4
などとします。
今回は横幅を1920のHDMIサイズとし、ビットレートを20Mbpsとしています。最初453枚で作りましたが、上のコマンドで示したように初めの99枚を除いて処理したので、合計354枚の画像を使い、47.1MBの動画ファイルとなりました。できたmp4ファイルをYoutubeにアップロードしたものです。
最後に雲が流れる時くらいに、左側に少し天の川が入ってきています。
もし出来上がった画像のファイルサイズが大きいなどの場合や、フォーマットを変えたい場合は、Handbreakが便利です。でもこちらも時間がかかるので、ビットレートを変えたいだけとかならffmpegを再度走らせた方が速いかもしれません。
まとめ
久しぶりの動画なので、メモがわりに作成方法を少し詳しく書いておきました。
まだ画像処理がたくさん残っています。次は何から手をつけようか?早めにやらないと時期も去ってしまいますが、焦っても仕方ないので、落ち着いて順次進めるようにします。