web-dev-qa-db-ja.com

UTCタイムスタンプで保存されたEXIFツールとビデオファイル

誰かが私が抱えている現在の問題についての洞察を与えてくれるかどうか興味があります。

いくつかのコンテキストでは、妻と私はAndroid電話(Moto G5 Plus)を持っています。電話は、DCIMフォルダー内のすべてのアイテムをSFTP経由でUbuntuサーバーに同期します。アイテムは「unsorted_pictures」ディレクトリに保存されます。夜に一度、cronジョブが実行され、unsorted_picturesからpictures/year/monthにコンテンツを自動的にコピーするスクリプトを実行します。後で(電話のスペースが最大になった後)、メンテナンス手順としてunsorted_picturesディレクトリを削除します。

スクリプトは、価値のあるものは何でも次のとおりです。

#!/bin/bash
exiftool -overwrite_original_in_place -P -if 'not $CreateDate' '-CreateDate<FileModifyDate' -r /mnt/vault/unsorted_pictures/staging
exiftool -o . '-Directory<CreateDate' -d /mnt/vault/pictures/%Y/%m -r /mnt/vault/unsorted_pictures/staging
exit

したがって、基本的に、最初のexiftool行はCreateDateが存在するかどうかを確認します。そうでない場合、FileModifyDateを使用してCreateDateパラメーターを作成します。これは、Googleがexifデータを削除しているように見えるため、ハングアウトの会話を介して保存された写真にのみ有効です。 (?!)その後、2番目のexiftool行がコピー+ソートを実行します。

このプロセスは一種の驚くべきものであり、非常に満足しています。ただし、1つのスナフがあります。ビデオファイルはUTC時間で記録されているように見えますが、写真は現地時間で記録されているようです。以下は、撮影されてすぐにサーバーに転送されたビデオファイルです。すべてのタイムスタンプを確認するためにexiftoolが実行されました。

administrator@vault:/mnt/vault/unsorted_pictures$ exiftool -time:all -s VID_20171225_214456599.mp4
FileModifyDate      : 2017:12:25 21:47:02-05:00
FileAccessDate      : 2017:12:25 21:47:00-05:00
FileInodeChangeDate : 2017:12:25 21:47:02-05:00
CreateDate          : 2017:12:26 02:45:00
ModifyDate          : 2017:12:26 02:45:00
TrackCreateDate     : 2017:12:26 02:45:00
TrackModifyDate     : 2017:12:26 02:45:00
MediaCreateDate     : 2017:12:26 02:45:00
MediaModifyDate     : 2017:12:26 02:45:00

administrator@vault:/mnt/vault/unsorted_pictures$ date
Mon Dec 25 21:47:23 EST 2017

ご覧のとおり、CreateDateは一見、将来の時刻に設定されています。さらに下で、「date」コマンドを実行して、これが行われた現在の現地時間を確認できるようにしました。上の行では、05:00で終わるタイムスタンプを確認できます。これは、UTCとの時差であることを理解しています。

私の実際の質問に:

1)Motorolaで複数のカメラアプリを試しましたが、それらはすべてまったく同じ動作をしました。これは、アプリ固有の設定ではないことを示唆しています。自分の動画がUTC形式で記録されないようにする方法はありますか?写真は素晴らしいです、それはjustビデオです。私はこれは少し奇妙だと思うが、オンライン検索はそれが一般的であることを示唆しているが、その理由を聞いて理解していない。

2)スクリプトにロジックを追加してCreateDateで画像を並べ替え、FileModifyDateで動画ファイルの種類を並べ替えるか、すべての動画を体系的に5時間前に更新するためのパラメーターを追加することもできます。しかし、私は疑問に思った、exiftoolにmp4ファイルを見てUTCタイミングの違いを認めさせる手段はありますか?私はビデオファイルが別の獣であり、exiftoolが主に写真に焦点を当てていることを知っていますが、それでも、exiftoolがこれらのビデオでもメタデータを認めることで非常に良い仕事をしていることを考えると、非UTC時間。または、電話がUTC時間で録音されている場合は、おそらく望みがありません。/shrug

おそらく、これは年/月/日ではなく年/月で並べ替えるより多くの理由です。ビデオはすべてその月のディレクトリ内にあるため、5時間ずれるとは言えません。しかし、それでも、私はこれに興味を持ち、疑問に思っています...なぜですか?

どんな助けや洞察も大歓迎です!

2
JaSauders

Phil Harvey(exiftoolの作成者)によると、Quicktimeタイムスタンプは標準に従ってUTC時間に設定されることになっています。しかし、多くのカメラはこれを行っていないようですので、exiftoolはタイムゾーンを仮定せず、書かれている時間を受け入れます。 Quicktimeタグの下の3番目の段落 を参照してください

Exiftoolには、これを修正するオプションが含まれています。 exiftoolバージョン9.40以降を実行している場合は、-api QuickTimeUTCをコマンドに追加できます。タイムスタンプがUTCとして正しく書き込まれていると想定し、ローカル時間に変換します。

2
StarGeek