癖のあるファイル名
GoPro Hero 10を使用しているのですが、録画されたファイルの命名規則が使いづらいという問題があります。
動画やタイムラプスでのファイル名の命名規則は次のようになっています。
GXzzyyyy.MP4
- yyyy : ファイル番号。録画を開始する毎に順に割り振られる番号。1から始まる。
- zz : チャプター番号。録画ファイルは約4GB毎に分割され、1から始まる番号が付けられる。
つまり、最初はGX010001.MP4から始まり、ファイルが4GBを超えるとGX020001.MP4となっていきます。録画を終了して、再度録画を開始するとGX010002.MP4として記録され、4GBを超えるとGX020002.MP4となっていきます。
このファイル名で記録されるとなると、後日PCで録画ファイルを扱う時にちょっと困ったことが起こります。たとえば、2回録画した時に記録されたファイルが次のようになったりします。
- GX010001.MP4 (最初に録画されたファイル)
- GX010002.MP4 (2番目に録画されたファイル)
- GX020001.MP4 (最初に録画されたファイルの2番目のファイル(GX010001.MP4のつづき))
- GX020002.MP4 (2番目に録画されたファイルの2番目のファイル(GX010002.MP4のつづき))
一般的にPCでファイルを一覧表示したときにはファイル名順になっている事が多いと思いますが、GoProが作成するファイル名の命名規則ではファイル名順にしたときに録画順になりません。PCでファイルを閲覧するときに時刻順にすればよいのですが、あまり時刻を意識することに慣れていませんし、なにかとファイルを扱うときにはファイル名に頼ることが多いはずです。
ファイル名を変換するクイックアクションを作成する
GoProのファイル名が扱いづらいので変換する事にします。変換するにあたって次のようにします。
- ファイル名先頭の「GX」は「GX_」にします。これで変換前か変換後かが判断できます。
- 複数のファイルを一括して変換できるようにします。
- GoPro以外のファイルを変換しないように、最低限のファイル名の妥当性検査をします。
- ファイル名は拡張子を含めて12文字
- ファイル名の先頭2文字が「GX」
- ファイルの拡張子が「.MP4」
手作業で行うとなると、結構手間暇がかかりますし、間違いの元なのでシェルスクリプトを使って変換してしまいます。シェルスクリプトを起動するのも面倒なのでAutometorを使います。
Autometorを起動して新規作成します。
Autometorで「クイックアクション」を選択します。

ワークフローが受け取る現在の項目で「ムービーファイル」を選びます。

「シェルスクリプトを実行」をダブルクリックして追加します。
シェルは「/bin/bash」を選んで、入力の引き渡し方法には「引数として」を選びます。

サンプルのスクリプト(for …… done)を削除してスクリプトは以下のようにします。
set -e
NEWPRE="GX_"
for f in "$@"
do
FN=`basename $f`
DN=`dirname $f`
PRE=`echo $FN | cut -c 1-2`
CHA=`echo $FN | cut -c 3-4`
NUM=`echo $FN | cut -c 5-8`
EXP=`echo $FN | rev | cut -c 1-4 | rev`
if [[ ${#FN} -ne 12 ]]; then
continue
fi
if [[ $PRE != "GX" ]]; then
continue
fi
if [[ $EXP != ".MP4" ]]; then
continue
fi
mv $f $DN/$NEWPRE$NUM$CHA$EXP
done

「GoProファイル名変換」といった名前で保存します。

Autometorでの作業はここまでです。
「システム設定…」から「一般」の「ログイン項目と機能拡張」を選択し、機能拡張のFinderの所にある「丸i」を選択します。

Autometorで保存したクイックアクションが表示されているので横にあるスライドスイッチ(?)をオンにして完了をクリックします。

これでFinderでの設定は終了です。
FinderでGoProのファイルを選択した状態で右クリックすると、クイックアクションに作成したクイックアクションが表示されるはずです。
作成したクイックアクションを選択すればファイル名が変更されます。
コメント