AVCHDファイルをPCに取り込むと、ファイルの作成日時,更新日時が取り込んだ日時に変更されてしまいます。それを撮影日時に修正するアプリを作成しました。
静止画の場合、撮影日時はEXIFに保存されるので良いのですが、動画の場合はEXIFが付きません。
ファイルの更新日時だけが頼りなのに変更されてしまっては元も子もありません…
AVCHD(m2ts)の取扱い
AVCHDは動画ファイルの一種です。
ビデオカメラだけでなくデジタルカメラでもこの形式で撮影できるものがあります。
現在僕が使っているカメラは…
- Sony DCS-HX5
- Panasonic DMC-GX7MK2
- Panasonic DMC-TX1
- Canon PowerShot S120
- ZOOM Q2HD
の5台です。
パナソニックとソニーは規格策定者と言うこともありAVCHDで撮影できます。
他はMP4です。
通常、AVCHDで撮影した動画はメーカー製アプリ(PlayMemories HomeやPHOTOfunSTUDIO)を利用してパソコンに取り込みます。
アプリを使わずメモリーカードから直接コピーしても動画ファイルとしては問題ないのですが、撮影情報などが付かない生データになってしまいます。
アプリを使うことによって、ソニーのDSC-HX5VであればGPS情報を残すことができるのです。
ですが、このメーカー製アプリを使うことでいささか問題が発生します。
動画のタイムスタンプ(更新日時)の問題
取り込んだ動画の更新日時が「パソコンに取り込んだ日時」に変更されてしまうのです。
メモリーカードから直接コピーをすれば、通常更新日時は撮影されたときの日時です。
ちなみに更新日時が変更されたとしても、メーカー製アプリで動画を管理していれば何の問題もありません。静止画も動画も撮影日時順に並んで表示されます。
画像ビューア「XnView」で撮影日時順に並ばない
過去にもいろいろなメーカーのデジカメを使ってきたため、特定のメーカー製アプリで画像を管理することができません。
静止画は良いのですが、メーカー製アプリは基本的に他社のデジカメで撮影された動画の再生はできません。
そのためメーカーを問わずコーデックさえあれば全ての動画が再生できる画像ビューア、XnViewを使っています。
XnViewでは撮影日時順に並べるためにファイルの更新日時を利用してますが、その更新日時が変更されてしまっていては都合が悪いのです。静止画だけならEXIFで良いのですが動画にはEXIFが無いため更新日時頼りなのです。
結果的に撮影日時順に並べることができなくなってしまうのです。
更新日時を撮影日時に修正する
メーカー製アプリで取り込んだAVCHDファイルは、以下のようにファイル名が撮影日時になります。
DCS-HX5V,DSC-WX5で撮影しPlayMemories Homeで取り込んだファイル
20110123135626.m2ts
20110123135626.m2ts.modd
20110123135626.m2ts.moff
DMC-GX1,DMC-FZ200で撮影しPHOTOfunSTUDIOで取り込んだファイル
20140315173634.m2ts
20140315173634.m2ts.modd
DMC-FZ1000で撮影しPHOTOfunSTUDIOで取り込んだファイル
2016-01-30_124718.cont
2016-01-30_124718.m2ts
2016-01-30_124718.pmpd
2016-01-30_124718.tmb
このファイル名を利用して、ファイルの更新日時を書きかえてやれば問題は解決しそうです。
また上記のように、1本の動画で複数のファイルが作成されますが、整合性が取れるよう全てのファイルの日時を書きかえることとします。
タイムスタンプ修正アプリを作りました
拡張子でファイルをピックアップしてから、ファイル名が更新日時として妥当かどうかチェックします。
妥当なものは更新日時をファイル名から得た日時に修正します。
(現在のバージョンは作成日時にも同じものをセットするようになっています。)
「更新エラーファイル」は実際はエラーではなくてファイル名ではじかれたものが表示されています。
拡張子「.modd」は静止画の連射したものにも作られますが、ファイル名が日時ではないのでエラー扱いになります。
指定したフォルダのサブフォルダも修正対象となります。
これで安心してXnViewが使えるようになりました。
動作確認機種
ソニー DSC-HX5V
ソニー DSC-WX5
パナソニック DMC-GX1
パナソニック DMC-FZ200
パナソニック DMC-FZ1000
パナソニック DMC-GX7MK2
パナソニック DMC-TX1
利用者の方から動作報告をいただいた機種
ソニー DSC-HX50V
ソニー DSC-TX300V
ソニー DSC-HX90V
ソニー HDR-CX670(はくたかさん)
ソニー α6000(初パパさん)
ソニー FDR-AX45(りんごさん)
ソニー HDR-CX680(はなとさん)
ファイルの内部を見るような高度なことはしていません。ファイル名を使っているだけなので、動作確認が取れていない機種でもファイル名の形式が上記モデルと同じなら動作します。
「上記以外の機種で使っているよ」という方がいらっしゃいましたら、機種名をコメントに書いていただけると嬉しいです。動作確認機種に、お名前ともに紹介させていただきたいと思っています。
ダウンロード
同じ問題に悩んでいる方も多いようなので公開します。
Windows7, VB2010Expressで開発しています。
.NET Framework 4環境であれば動くと思います。
Ver1.10
“タイムスタンプ修正アプリ” をダウンロード AVCHDTIME.zip – 9331 回のダウンロード – 9.64 KB使用にあたっては自己責任でお願いします。
ご利用になる場合は必ずテストデータを用意して動作を確認をしてください。
サイトポリシーをご覧いただいた上でご利用ください。
また、旧サイトの掲示板にて「ウィルス検知のアラートが出た」との報告を受けています。
本来システムが扱うべき日付を強制的に書き換えてるので引っかかっているのでは?と考えています。
当方ではウイルスバスタークラウド、Microsoft Security Essentialsがインストールされた2台のPCで検証しましたが異常はありませんでした。
自分でも使っているのでパソコンを壊すようなことは無いかと思いますが、何らかの不具合を起こしたとしても責任はとれません。
拡張子MTS対応版
“タイムスタンプ修正アプリ(Ver1.10a)” をダウンロード AVCHDTIMEa.zip – 6021 回のダウンロード – 9.63 KBコメントにてSONY HDR-CX670のファイルへの対応依頼があったため作成したものです。バージョン表記は「Ver1.10a」となっています。
通常版との違いは、SONYの修正対象拡張子に「MTS」を追加しただけです。
例:20110123135626.mts
※HDR-CX670を持っていないため実機ファイルテストができません。
そのため暫定版扱いとさせていただきます。
当記事コメントより…
HDR-CX670でもPlayMemories Homeを利用してAVCHDを取り込むと、「m2ts」「m2ts.modd」「m2ts.moff」が作成されるとのことです。
したがって、従来バージョンでも更新日時の修正ができるものと思われます。
コメント
旧サイトにてコメントさせていただいたぽんこと申します。素早い対応ありがとうございました。子供の動画ばかりだったので、撮影日時順に並べることができ、とてもうれしいです。
すばらしいソフト、使わせていただきますね!新しいサイト、応援しています。
ぽんこさん
あたたかいお言葉ありがとうございます。
お役にたてたようで良かったです。
今後ともよろしくお願いします。
私もsony製デジカメの動画のタイムスタンプに悩んでおり、
このようなソフトを探していました。
私の求めていたものまさにそのもです。
ありがとうございました。
しそさん
お役に立てたようで良かったです。
書き込みありがとうございました。
今後ともよろしくお願いします。
ソニーHDR-CX670を使っています。ファイルの拡張子がm2tsではなく、mtsであるためなのか、指定フォルダ内全ファイルに表示されません。Googleフォトに上げるときに日付がおかしくなるので、このソフトを使いたいと思ったのですが・・・
はくたかさん
対応しているファイルは、ファイル名,拡張子とも当ページに記載されているものになります。
記載されているものと同じようにHDR-CX670のファイル名、拡張子を教えていただければ対応できるかもしれません。
ただし、あくまでも自分用のアプリを公開しているだけなので、対応をお約束できるわけではありません。
また、ファイル名に撮影日時が含まれていなければ対応できません。
(ファイル名から日時を取り出しているからです)
SONYのカメラの場合は基本的にPlayMemories Homeでパソコンに取り込んだものが対象となります。
よろしくお願いします。
お返事ありがとうございます。
HDR-CX670で撮影したファイルは「20161228070854.MTS」のように拡張子がMTSになっています。ファイル名には撮影日時が入っています。
お手数をお掛けいたします。もし、対応いただければうれしいです。
はくたかさん
SONY側の修正対象にMTSを加えた物を作ってみました。
この記事の最下部よりダウンロードできます。
簡単なテストは行っていますが、HDR-CX670を持っていないので実ファイルでのテストはできていません。
大切なファイルを壊さないようにテストしながら使ってみてください。
よろしくお願いします。
ゆうぱぱさん
ご対応いただいたのに、お返事遅くなりました。
HDR-CX670からPlayMemories Homeにて取り込んだファイル(拡張子mts)にて、正常動作を確認しました。ありがとうございました。
PlayMemories Homeを介さない取り込み(mtsファイルのみのコピーでmodd、moffファイルがない場合)だと動かなかったので、動作確認に時間が掛かってしまいました。
こちらの希望にご対応いただいてありがとうございます。助かりました。
ゆうぱぱさん
HDR-CX670から取り込み、タイムスタンプ修正アプリの動作についての動作報告についての訂正です。
【PlayMemories Homeから取り込んだ場合】
拡張子「m2ts」「m2ts.modd」「m2ts.moff」ファイルがコピーされます。タイムスタンプ修正アプリが正常に動作します。
【PlayMemories Homeを介さない取り込みの場合】
mtsファイルのみがコピーされます。タイムスタンプ修正アプリ(Ver1.10a)で「更新開始」をクリックすると、「更新エラーファイル」に表示され、日付は変わりません。
私がPlayMemories Homeを使わずに取り込んでいたことがうまく動作しないことの原因だったようです。HDR-CX670でもPlayMemories Homeから取り込むと「m2ts」「m2ts.modd」「m2ts.moff」ができますので、おそらく以前のバージョンでも動作すると思います。
いろいろとご迷惑をお掛けしました。今後は、PlayMemories Homeで取り込んで、当アプリを使わせていただこうと思います。申し訳ありませんでした。ありがとうございました。
はくたかさん
ご丁寧な返信ありがとうございます。
ソニー製品はデジカメ、ビデオカメラを問わず同じファイルが作られるようですね。
これからこのアプリを使われる方の参考にもなると思います。
情報提供ありがとうございました。
今後ともよろしくお願いします。
下記カメラで撮影したファイル(拡張子m2ts)で、うまくタイムスタンプできました。
ソニー DSC-HX50V
ソニー DSC-TX300V
ソニー DSC-HX90V
(すべてPlayMemories HomeでPCへ取り込み)
このページは検索でたどり着きましたが、まさにこういのがあれば助かると思っていたアプリでした。
どうも有難うございました。
動作報告ありがとうございます。
さっそく動作確認機種に入れさせていただきました。
お役に立てたことと、このように動作報告をいただけたことがとてもうれしいです。
ありがとうございました。
SONYのα6000のm2ts動画の更新がうまくいき、無事Googleフォトで適切なタイムラインで表示されるようになりました。大変ありがとうございました。
数個の動画ファイルならGooglePhotos上で直接編集、大量の動画ファイルはこのアプリで一括修正してからUploadという使い分けをしていく予定です。
初パパさん
α6000での動作報告ありがとうございます。
お役に立てたようで良かったです。
コメント書き込みありがとうございました。
ソニー、FDR-AX45を最近購入したのですが、撮影した動画をPCに取り込んでから日付がおかしいことに気付きガッカリ…。検索して貴サイトに辿り着き、アプリを使わせていただいたところ、無事タイムスタンプの修正ができました。
本当に助かりました。ありがとうございました!
りんごさん
FDR-AX45の動作報告ありがとうございます。
お役に立てたこと、コメントいただけたこと、とてもうれしいです。
HDR-CX680にて修正できたことをご報告します。
本当に助かりました。
しかし、なんでこんな不便な仕様にし続けるのでしょうかねぇ。。
HDR-GW77Vで7年間愛用してた「MvRen.exe」がCX680で機能しない時は、
一瞬焦りましたが、また素晴らしいソフトに出会えて、感謝しかありません!
はなとさん
HDR-CX680の動作報告ありがとうございます。
取り込みアプリで対応してくれると良いのですが。
ファイルの更新日時なので、Windowsのルールに従って付けざるを得ないのかもしれません。
お役に立ててよかったです。
書き込みありがとうございました。