フォトブック作成のための写真の整理

2020-08-01

KDE neonを使おう

t f B! P L
子どもを撮影した写真と動画がだいぶ溜まってきたのでフォトブックにすることにしました。大量に画像があるのでまずは整理から始めます。写真を整理するにあたりファイル名でソートすると日付順に並んだほうがかなり便利ですので、撮影日時が入ったファイル日付が理想ですが、これがなかなかやっかいです。

使用カメラと画像形式


 Sony DSC-HX5V


DSC-HX5V 主な仕様 | デジタルスチルカメラ Cyber-shot サイバーショット | ソニー

2011年2月に購入したものですが、2019年5月にnova3を買うまではよく使っていました。

静止画はjpg形式で 5 MP2592 × 1944ピクセル、動画は m2ts形式で2.1 MP1920 × 1080ピクセルで撮影しました。

m2ts形式は静止画を切り出すときにブレていないコマを探すのに苦労しました。

 ファイル名は静止画がDSC04343.JPG、動画は20160219121053.m2tsです。

Apple iPod touch 第6世代


 静止画は1.2 MP1280 × 960ピクセル、動画はmov形式で2.1 MP1080 × 1920ピクセルです。

いつも持ち歩いていたので手軽に撮影できました。

2015年に購入し、内蔵バッテリが膨らんで2018年にリファービュッシュ品に交換しましたが1年ぐらいで電池がもたなくなってしまって、これもnova3の購入で引退しました。

ファイル名は静止画はIMG_0340.JPG、動画はIMG_2083.MOVです。

Transcend DrivePro Body20


ウェアラブルカメラ | ウェアラブルカメラ | DrivePro Body 20 - トランセンド|メモリ製品のスペシャリスト

30分以上の動画録画のために、2016年1月に購入しました。

これは動画撮影のみに使ってmov形式で2.1 MP1920 × 1080ピクセルです。

このカメラは自動的に3分ごととかにファイルを区切りながら電池が切れるまで長時間録画できます。

1mほどの距離ならまあまあきれいに撮れますが、それ以上になると画質はかなり悪く、音声も入りにくくなります。

それでも暗視機能があり2.5時間ほどファイルを区切りながら録画できるので便利です。

電池がなくなってくるとピーピーと警告音を発してそれが録音されるのは無駄な機能です。

ファイル名は2018_1007_135426_001.MOVといった形式です。

CASIO EXILIM EX-FR200BK


EX-FR200 | LIFE STYLE | デジタルカメラ | CASIO

生産終了の全天周カメラですがCASIOはデジタルカメラから撤退したのでもう後継機はでてこないです。

mov形式で2.1 MP1440 × 1440ピクセルの円の形の動画が撮影されます。

 電池は90分ほど持ちますが動画は連続では29分間までしか録画できません。

 単焦点ですが画質はきれいです。

ファイル名はCIMG0012.MOVという感じで撮影日時は反映されず単なる連番です。

 Xiaomi Mi Sphere


 Mi Sphere Camera Kit 360 Degree Panoramic Camera - Xiaomi United States

2018年9月にGearBestで購入した360度カメラです。

このカメラで撮影した動画はmp4形式で3840x1920ピクセルですが、double-fisheyeという丸い画像が2つ並んだ画像になっています。

Xiaomi Mi Sphereの360度動画をstitchingする-p--qの方法で2つの画像を合成して四角にすることはできるのですが、結構歪んだ画像になるので、double-fisheyeのまま静止画に切り出して一方の画像のみを使うことにしました。

Googleフォトにアップロードすると1.8 MP1920 × 960までに縮小されてしまうので、オリジナルのファイルを使いました。

ファイル形式はVID_20181104_110405AA.MP4です。

HUAWEI nova 3


HUAWEI nova 3 smartphone スペック | HUAWEI Japan

2019年5月に購入しました。

購入以降メインカメラにしています。

静止画はjpg形式で5632x4224ピクセル、動画はmp4形式で3840x2160ピクセルです。

Googleフォトにアップロードすると静止画は16 MP4618 × 3464ですが、、動画は2.1 MP1080 × 1920とか2.1 MP1080 × 1920とか、かなり圧縮されてしまいます。

 ファイル名は静止画はIMG_20200301_120406.jpg、動画はVID_20200301_120400.mp4という感じです。

静止画のファイル名はExif情報からdigiKamで付け直す


静止画ファイルのファイル名についてはjpg形式であればカメラによってExif情報で撮影日時が記録されているので、カメラによるファイル名の違いは考慮しなくてよいです。

Exif情報から撮影日時 を使ってファイル名に変更するにはdigiKamを使いました。

digiKamのインストール

(2020.11.7追記。動画を扱うにはヘルプー>コンポーネントの情報、でLibQtAVが含まれていないといけません。Ubuntuパッケージは7.1でも動画は扱えず、動画も扱いたい場合はdigiKam - DownloadのAppImage版を使うしか無いようです。

 

AppImage版はメニューに勝手に登録してくれないので、メニューエディタのコマンドにappimageファイルへのパスを入力しました。アイコンはUbuntuパッケージのものが残っていたのでそれを使っています。)



DiscoverからdigiKamで検索して6.4.0をインストールしました。

スタート ー> アプリケーション ー> グラフィックス ー> digiKam。

 最初に起動すると画像の保存場所やデータベースなどの設定を聞かれます。


 ここが問題でデフォルトのままでは画像ファイルとともに複数のdbファイルがあって結構邪魔です。

 Browseボタンをクリックして、右クリックで「隠しファイルの表示」にチェックをつけると隠しフォルダが表示されますが、フォルダをまだ作っていないときはパスを打ち込みます。


 /home/pq/.config/digiKam


 「はい」として次に進みます。

他の設定はすべてデフォルトのままにしました。

データベースをすでに作成してしまったときは、設定 ー> Database Migrationで移動できるかと思います(未確認)。

digiKamでjpgファイル名を撮影日時を含んだものにする


digiKamでjpgファイルを選択して右クリック ー> 名前変更。


「日付と時刻」をクリック。


ソースを「画像」にするとExif情報から撮影日時を取得します。

「Fixed Date」を選択すると指定した日時を設定できます。

フォーマットで形式を選択できますが、StandardのままでOKします。

秒まで同じ写真が複数ある可能性は低いのですが、あとで手動でファイル順を操作するときに便利なので連番もつけておくことにします。

「連続番号」をクリックします。


桁数3桁にしました。

Extension aware numberingを選択すると拡張子が変わると番号がリセットされ、Folder aware numberingを選択するとフォルダごとに番号をリセットするそうです。


あとはOKをクリックするとファイル名が変更されます。

mpvで動画から静止画を切り出す


動画から静止画を切り出すには、コマ送りと切り出しが簡単にできるmpvを使うことにしました。

mpvは動画ファイルを再生する-p--qでインストールしました。

動画のファイル名

 上で調べたように動画ファイルの形式は次の6通りです。

 DSC-HX5V 20160219121053.m2ts
 iPod touch  IMG_2083.MOV
 DrivePro Body20 2018_1007_135426_001.MOV
 EXILIM EX-FR200BK CIMG0012.MOV
 Mi Sphere VID_20181104_110405AA.MP4
 nova 3 VID_20200301_120400.mp4

iPod touchとEXILIMのファイルには撮影日時情報が含まれていないので他の方法で撮影日時を確認するしかありませんが、他のカメラのファイル名には撮影日時が含まれているのでそれを活用にすることにします。

動画から静止画を切り出したときのファイル名を設定する

mpvの設定の解説はmpv.ioにあります。

mpvを起動すると~/.config/mpvフォルダが作成されるのでそこにmpv.confというテキストファイルを作成して設定を書き込みます。


動画から静止画を切り出したときのファイル名の設定は--screenshot-template=にあります。

%F 拡張子とドットを除いた動画ファイル名。

 %[#][0X]n 連番。#があると常に最小の番号を見つけます。Xは桁数。

これらからオプションを次の通りにしました。

--screenshot-template=~/ピクチャ/%F_%03n

(2023.10.29追記。ファイル名の連番はキャプチャ回数に依存するので巻き戻してキャプチャしたものは順番が前後します。なので再生時間をつけるようにしました。

 --screenshot-template=~/ピクチャ/%F_%wH%wM%wS%wT

)


--screenshot-jpeg-quality=100

 ついでにjpgの書き出しの品質も100%にします(デフォルトは90%)。

これら~/.config/mpv/mpv.confを作成してそこに書き込みます。

mpvで動画から静止画を切り出す

動画をmpvで再生中に,キーでひとコマ前に戻る.キーでひとコマ進むので切り出したいコマでsキーを押します。

これで例えばVID_20200705_122552.mp4ファイルからVID_20200705_122552002.jpgファイルが切り出せます。

切り出したファイル名をdigiKamで改名したjpgファイルと揃えるシェルスクリプト


sudo apt install rename

まずrenameをインストールします。
pq@pq-VirtualBox:~$ rename --version
/usr/bin/rename using File::Rename version 0.20
regex - Rename files using regular expression in linux - Stack Overflow

renameはPCREが使えるのでこれを使って各カメラの動画から切り出したjpgファイルのファイル名を置換します。
#!/bin/bash
# DSC-HX5V 20160219121053001.jpg
rename -v 's/(\d{8})(\d{9})\.jpg$/$1T$2\.jpg/' *.jpg
# DrivePro Body20 2018_1007_135426_001001.jpg
rename -v 's/(\d{4})_(\d{4})_(\d{6})_\d{3}(\d{3})\.jpg$/$1$2T$3$4\.jpg/' *.jpg
# Mi Sphere VID_20181104_110405AA001.jpg
rename -v 's/VID_(\d{8})_(\d{6})AA(\d{3})\.jpg$/$1T$2$3\.jpg/' *.jpg
# nova 3 VID_20200301_120400001.jpg
rename -v 's/VID_(\d{8})_(\d{9})\.jpg$/$1T$2\.jpg/' *.jpg
このスクリプトをrenameshot.shという名前で保存しました。

bash renameshot.sh

これでDSC-HX5V、DrivePro Body20、Mi Sphere、nova 3の各動画からmpvで切り出した静止画についてこのスクリプトと同じフォルダにあるjpgファイルを改名します。

これでこれらのカメラの動画から切り出したjpgファイルのファイル名がdigiKamで改名したものと同じ形式になります。

切り出したjpgファイル名に撮影日時が入ってないときは手動でファイル名を修正するしかありません。

digiKamのトーンカーブで写真の明るさを修正する


digiKamには画像エディタもついています。

 編集したい画像を選択して、ツール ー> 画像エディタ、とします。

右のパネルのCurve Adjustボタンをクリックします。

 マウスカーソルを画像上にもってくると処理前の画像に切り替わるのでとても便利です。

これで1000枚ぐらいのjpgファイルができました。

あとはこの大量のjpgファイルをどうやってフォトブックにするかを考えます。

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ