MiniDV形式ビデオテープを撮影日時つきファイルでバックアップ
公開日 更新日 2016/02/12
我が家では旅行や行事など、ホームビデオの撮影ペースが毎月それなりにあります。
3年ぐらい前を境にして、昔はMiniDVカセット、今はフラッシュメモリという、2世代の記憶領域の違いのあるビデオカメラを愛用しています。
先日、部屋の掃除をしていたところ、昔使っていた方のビデオで撮影されたMiniDVカセットを発掘したけど、パソコンへの取り込みに悪戦苦闘をしたので、その経緯についてまとめたいと思います。
Information
その後、こちらの記事で更に便利になる追加機能を盛り込んでみました。良かったらこちらもご覧ください。
※なお、今使っているビデオカメラのフラッシュメモリでは、1ヶ月以上蓄えられ、USB接続で手軽にパソコンに取り込むことができるため、バックアップについて特に問題ではありません。
Contents
はじめに
- 問題のカセットは50巻ほどあります・・・。
- 業者へDVDなどへの変換を依頼することも選択肢としてありましたが、
価格や品質面などについて調査に時間がかかって挫折することが容易に想像がつきます。 - 更に、3年以上前ということで、テープやビデオカメラのヘッドの状態がとても気になる感じです。
以上のポイントから、自力でかつ迅速にバックアップを取る必要があると考え、簡単に解決できるか考えてみました。
対象機器
今でこそUSB端子さえあれば、大抵のビデオカメラはほぼ同じ操作でバックアップできると思いますが、一昔前のビデオカメラは色々と制約があると思われます。
そのため本記事で対象とするビデオカメラは、以下のモデルをピンポイントでターゲットにしたいと思います。
- 対象ビデオカメラ
SONY DCR-PC350 NTSC (2004年) - 記憶メディア
MiniDVカセット - パソコンとの接続端子
IEEE1394 (SONYマニュアルではiLinkと表記)
バックアップの方法を考える
最初に何も考えてない状態で、SONY純正のツールであるPlay Memories Homeを試しました。
とっくにサポートが切れているけど、IEEE1394で接続したビデオカメラが認識しさえすれば、このツールを使ってのバックアップが可能でした。
特に嬉しかったのは以下のポイント。
- シーンごとにファイルを分割してくれる
- 1巻まるまる全自動でバックアップが可能
これで50巻分の操作を繰り返したところ、無事全部のバックアップを取得出来ました。
めでたしめでたし!
・・・では終わらず、純正ツールといえども問題がありました。
その唯一最大の問題はファイル名の命名規則が、取り込んだときの日時から作成されたという点。
想定していたファイル名は撮影したときの日時なので、この点についてもう少し調査をする必要があります。
後日談ですが、バックアップしたファイルの作成日や更新日も撮影日時を元に設定すると良いという話を伺いました。
これはWindowsのファイルプロパティで確認できる項目でフィルタに活用できる有用な情報です。
「MiniDV」形式について調べてみました
かなり大雑把ですがポイントは以下。
- 映像と音声が記録されている (当たり前ですが)
- 映像と音声以外にも撮影状態に関する情報が記録されている
2点目はビデオカメラのモデルによって中身が異なることがあるそうです。
そして、どうやらここに撮影日時の情報が含まれることがあるようで、ファイル名にできる可能性がありそうです。
ただ残念なことに、結局SONYのPlay Memories Homeでは撮影日時でのファイル名は作ることが出来ませんでした。
MiniDVの撮影状態を確認するツールを入手する
検索してみたのですが、目的に近いツールというのがMediaInfoのようです。
上であげたMiniDVの撮影状態として撮影日時のほかビットレートやビデオの圧縮形式といった細々とした情報が表示できるスグレモノです。
ダウンロード
MediaInfoのサイトから以下のメニューをたどってCLI版を入手します。
- Download
- Windows Official releases
- CLI
執筆時点では、「Windows XP, Vista, 7, 8 / 32bit / CLI v0.7.70」を選択
実行結果の確認
早速、バックアップしてあるファイルを使って出力結果を確認してみました。
CLI版のmediainfoは、mediainfo.exeをダブルクリックしても実行時にmediainfo画面は表示されず、動いたかどうかすらわかりません。
一瞬何かの画面が表示されますがすぐ閉じてしまって何が起きたのかわからないと思います。
CLI版の場合は、Windowsのスタートメニューからコマンドプロンプトを起動した後、次の出力結果画面のように入力して最後にENTERを押すことで実行結果が表示されることで確認して下さい。
※[MediaInfo Install Dir]にはMediaInfo.exeをインストールしたドライブ/ディレクトリ、[Video Dir]\20140915000.aviをテスト用のビデオファイルに置き換えてください。
出力結果からマーク箇所にRecorded dateとあり、我が家のビデオカメラには撮影日時が保存されるモデルだったことが確認できました!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
> [MediaInfo Install Dir]\MediaInfo.exe [Video Dir]\20140915000.avi General Complete name : [Video Dir]\20140915000.avi Format : AVI Format/Info : Audio Video Interleave Commercial name : DVCPRO File size : 4.38 MiB Duration : 1s 201ms Overall bit rate mode : Constant Overall bit rate : 30.6 Mbps Recorded date : 2004-03-14 15:15:12.000 Video ID : 0 Format : DV Commercial name : DVCPRO Codec ID : dvsd Codec ID/Hint : Sony Duration : 1s 201ms Bit rate mode : Constant Bit rate : 24.4 Mbps Encoded bit rate : 28.8 Mbps Width : 720 pixels Height : 480 pixels Display aspect ratio : 4:3 Frame rate mode : Constant Frame rate : 29.970 fps Standard : NTSC Color space : YUV Chroma subsampling : 4:1:1 Bit depth : 8 bits Scan type : Interlaced Scan order : Top field only Compression mode : Lossy Bits/(Pixel*Frame) : 2.357 Stream size : 4.12 MiB (94%) Audio ID : 1 Format : PCM Format settings, Endianness : Little Format settings, Sign : Signed Codec ID : 1 Duration : 1s 201ms Bit rate mode : Constant Bit rate : 1 536 Kbps Channel(s) : 2 channels Sampling rate : 48.0 KHz Bit depth : 16 bits Stream size : 225 KiB (5%) Interleave, duration : 33 ms (1.00 video frame) |
ファイル名を変換するためのbatファイルを作る
さすがにMediaInfoにはファイル名のリネーム機能やプロパティ編集機能までは提供されていないようで、そこは自分で考えないといけないようでした。
文字列変換という作業だったので、ここではbatファイルとして作りました。
Play Memories Homeなどでパソコンに取り込んだファイルに対して、このbatを併用することでようやく撮影日時を元にしたファイル作成が達成出来ました!
作ったbatファイル
今回作ったbatファイルを掲載します。
※すべてのMiniDVカセットについて変換が完了したということで役目を全うしただろうと思われるため、残念ながら機能性重視であって内容はあまりカッコ良い作りではありません…。
このbatがやっていることは以下2点です。
- 撮影日時にもとづいて、ファイル名を設定
- 撮影日時にもとづいて、ファイルのWindowsプロパティにある作成日と更新日を設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
@echo off & setlocal :: mediainfoコマンドへのパス set mediainfo="<MediaInfo Install Dir>\MediaInfo.exe" :: ビデオ格納ディレクトリに移動 D: cd D:\<Video Dir> :: バッチファイルの遅延環境変数の展開を有効にする(setlocal /?にもヘルプあり) setlocal enabledelayedexpansion :: mediainfoの動作チェック for /f "delims=" %%j in ('%%mediainfo%%') do set "Usage=%%j" if "!Usage!" equ "" ( echo mediainfoコマンドが不正です。CLI版を使っているか確認してください。 ) else ( :: *.avi全てについて、リネームコマンドを実行 for /f "delims=" %%i in ('dir /b /a-d *.avi') do ( :: 変換元ファイル名 set "fnameo=%%~ni" :: 変換元ファイル拡張子 set "fnamee=%%~xi" set "Recorded_Date=" for /f "delims=" %%j in ('%%mediainfo%% "--Inform=General;%%Recorded_Date%%" "%%~i"') do set "Recorded_Date=%%j" if "!Recorded_Date!" equ "" ( echo Recorded_Dateが取得できませんでした。対象ファイル:!%%~i ) else ( :: ファイルの作成日と更新日を設定(書式:「yyyy/MM/dd HH:mm:ss」) set "PsDate=!Recorded_Date!" set "PsDate=!PsDate:-=/!" set "PsDate=!PsDate:.000=!" powershell -nologo -command "& { Set-ItemProperty "%%~i" -Name CreationTime -Value '!PsDate!'; Set-ItemProperty "%%~i" -Name LastWriteTime -Value '!PsDate!'; }" :: ファイル名を変更(書式:「yyyy-MM-dd_HH-mm-ss.avi」) set "NewName=!Recorded_Date!" set "NewName=!NewName: =_!" set "NewName=!NewName::=-!" set "NewName=!NewName:.000=!" call set "selftest=%%fnameo:!NewName!=%%" if "!selftest!" equ "!fnameo!" if not exist "!NewName!!fnamee!" ( rename "!fnameo!!fnamee!" "!NewName!!fnamee!" ) ) ) ) endlocal pause |
使い方
※念のためテスト用にビデオのコピーを格納したディレクトリを用意することで、きちんと動作することを確認して下さい。
- batファイル内の以下3箇所(マーク箇所)を書き換える。
- 4行目の「<MediaInfo Install Dir>」
MediaInfoファイルをインストールしたドライブ/ディレクトリにします。 - 7,8行目の「D:」「cd D:\<Video Dir>」
変換したいファイルが格納されているドライブ/ディレクトリにします。 - 19行目の「*.avi」
変換したいファイルを一覧できる表記にします。ここでは拡張子.aviのファイルを一覧にしてます。
- 4行目の「<MediaInfo Install Dir>」
- 変換したいファイルを、1番の7,8行目で指定したドライブ/ディレクトリに格納する。
- batファイルをダブルクリックする。
batファイルの解説
bat内でやっていることは、だいたい以下の様なことです。
- 変換対象のファイルを順番に、MediaInfoの引数に指定して実行。
- MediaInfoの引数はRecorded_Dateのみを表示するように–Informを次のように指定する
1MediaInfo.exe --Inform=General;%Recorded_Date% [変換対象のファイル]
※Informの書式はドキュメント参照。一覧は次のInfo-Parametersで得られます。
1MediaInfo.exe --Info-Parameters - PowerShellのSet-ItemPropertyコマンドレットを使って、Windowsファイルのプロパティにあるファイル作成日/更新日を設定
- Windowsのファイル名として不適切なスペースと:(コロン)の変換と、ミリ秒表記の削除
- 得られた文字列がファイル名になるようにリネーム
最後に
今回MiniDV形式について調査しましたが、多分もう使うことはなかろうと思います。
とは言え、撮影情報には撮影日時以外にも含まれているので、まだMediaInfoを活用する契機があるのかもしれないのでブログにまとめられたのは良い機会だったと思いたいですね。
MediaInfo以外の選択肢がないような気さえするので、もしかして撮影日時が得られず目的が達成できないような紙一重な状況だったのかもしれません。
SONY純正ツールが提供されてない状態で、望む形で変換できたのはものすごいラッキーだったかもしれません。
変更履歴
- 2014/09/15
初版 - 2014/11/10
掲載したバッチファイルに、Recorded_Dateが取得できないファイルを変更対象から除外する処理を追加。
CLI版の動作確認にコマンドプロンプトを使うやり方を補足。 - 2014/11/12
掲載したバッチファイルに、エラー時のメッセージ出力処理を追加。
掲載したバッチファイルに、Windowsのファイルプロパティにある作成日/更新日へ撮影日時を設定する処理を追加。
レスポンシブ広告
関連記事
-
MiniDV形式ビデオテープを撮影日時つきファイルでバックアップ[PowerShell版]
去年からちょいちょいPowerShellを使い出しました。 勉強の一環で、ちょっ …
-
デジタルビデオカメラに広角レンズを取り付ける
我が家で使っているビデオカメラは、2009年製のSonyハンディカムHDR-CX …
Comment
はじめまして。
さっそくですが、まさに求めているものにやっと出会えました。
がmediainfoにもきちんとrecorded dateが記録されているのにリネームがされません。
なにが原因かわかりません。
使い方通り、
①MediaInfoファイルをインストールしたドライブ/ディレクトリにしました。
②7,8行目の変換したいファイルが格納されているドライブ/ディレクトリにしました。
③11行目の11行目を「*.avi」にしました。
そしてバッチファイルをダブルクリックするとmediainfoがひらき最初の動画の情報がでます。
そのまま何も起こらないのでmediainfoを落とします。
すると再度mediainfoがひらき次の動画の情報がでます。がまた何も起こらないので落とします。これをフォルダ内すべての動画の数だけ行いますが、リネームはされないままです。
なにか当方の手違いでしょうか。よろしければアドバイスをお願いいたします。
ちなみにプログラミングは素人です。
お手数ですがよろしくお願いいたします。
以上
kevinさん、はじめまして
当サイトを管理してますbeyondといいます。
自分以外の方が活用できる記事があったということでとても嬉しいです!
さて申告いただいた症状について拝見しました。
この記事の内容をてらしあわせてもう一度こちらでも確認してみたのですが、気になるところがあったので確認させてください。
> そのまま何も起こらないのでmediainfoを落とします。
この「mediainfoを落とす」と言う箇所は、ひょっとしてGUI版のmediainfo実行画面を閉じるということだったりしないでしょうか?
もしそうならば、ダウンロードするmediainfoにはGUI版とCLI版という2種類あってGUI版の方を入手してる可能性があります。
試しに、もう一度mediainfoのダウンロード画面まで行き「Interface」と言う種類に「CLI」と表記されているCLI版のファイルをダウンロードしてみてください。
CLI版はインストーラが無いようで、zip形式のファイルを展開する必要があるため少々手間があるようですが、これで先に進めると良いのですが。
なおCLI版の場合、mediainfo.exeをダブルクリックしても実行時にmediainfo画面は表示されず、動いたかどうかすらわかりません。
一瞬何かの画面が表示されますがすぐ閉じてしまって何が起きたのかわからないと思います。
CLI版の場合は、Windowsのスタートメニューからコマンドプロンプトを起動した後、次のように入力して最後にENTERを押すことで実行結果が表示されることで確認して下さい。
※[MediaInfo Install Dir]にはMediaInfo.exeをインストールしたドライブ/ディレクトリ、[Video Dir]\2014test.aviをテスト用のビデオファイルに置き換えてください。
[MediaInfo Install Dir]\MediaInfo.exe [Video Dir]\2014test.avi
長々と書きましたが、そもそも症状が違うなど、解決しないようでしたらまた情報をいただければ確認できるかもしれません。
<補足>
先ほど手順を確認して、記事内容に追記が必要だと思いましたので、2014/11/10付で改訂を加えました。
beyondさま
早速ご指導ありがとうございました。
まずmediainfo cli をインストールしなおしたところ・・・できました、さすがです!!!
今後とも役立つプログラミングお願いいたします。
ところで…これに加え作成日の変更もできるとかなりうれしいのです。
写真や一部の動画などではすでに需要もあり、窓の杜なんかではソフトもあるので今回の動画を試してみたのですが…できませんでした。(たとえばappendts2fnやmvrenなど)
PICASAを使って動画、写真管理をしていると作成日で振り分けてくれて結構都合がいいのです。興味があったらお願いします。
他力本願ですみません。
以上 kevin
kevinさん、解決したようでよかったです!
家庭用途のしかもどうでも良い映像ばかりなので、撮影日の変更が需要あるって気が付きませんでした。
確かに購入直後は時刻設定してなくてオカシな時刻で撮影してた気がします。
撮影日の変更ですが、PlayMemories Homeの標準機能で出来るようです。
バッチファイルじゃないけど一括変換も出来そうです。こういうところは純正ツールでも抜けはないようです。
以下参考ページが見つかりました
http://www.sony.jp/support/software/playmemories-home/operation/edit/change-date.html
:
ここまで書いて読み返したところ、そうではなくWindowsのファイルプロパティにある作成日/更新日の設定のことかなと思いました。
振り分け規則に使うということなので、きっとそうに違いないと思いました。
2014/11/12付でバッチファイルの処理中に対象ファイルのプロパティも設定する処理を追加してみました。
beyondoさま
これです、これを求めてました!!!
たぶんですが、これ結構需要あると思いますよ!
もっと簡単なソフトにすればいいと思います。初心者でも簡単にできるような。
このたびはありがとうございました!これからも期待してます!!!
またなにかあったらメッセージさせていただきます。
以上 kevin
kevinさん、求めたものができて良かったです
もっと簡単にできるか自身ありませんが、思いついたら公開したいと思います。
また、機会があればお願いします!
beyondさんはじめまして
通りがかりのモニオと申します。DVテープを保存する作業の情報を探してこのサイトに辿り着きました。
撮影日時情報をファイルに埋め込むbatファイルのおかげで、無事にPlayMemoriesHomeで取り込んだファイルをすべて変換することができました!本当に助かりました。
PlayMemoriesHomeは良くできたソフトなのですが、撮影日時ではなく取込日時がファイル名になる仕様は残念ですね(あと取り込んだAVIの編集機能で、なぜかビデオの結合だけがサポート外なのも痛いです)。
beyondさんのbatファイルのおかげで、取り込んだビデオがちゃんと時系列に並んで完璧な整理ができるようになりました。
以上乱筆で恐縮ですが御礼まで
モニオ
通りがかっていただきありがとうございます!
我が家のDVビデオカメラはもうすでに寿命を全うされたようで、今はテープをきれいに再生することが出来ませんが
当時バックアップしたファイルはきれいに見れますので、時々鑑賞して楽しんでます。
あのツールを同じように活用いただけているようで励みになりますし、あのとき記事にして正解だったと思います。
今後もよろしくお願いします!
こちらは最高のツールですね!
もう、ご覧になることはないのかもしれませんが、お礼だけ言わせてください。
こちらには困っていたところに、たまたまネットで検索して出会うことができました。
数年ぶりにDVテープの取り込みを再開したところ、テープの劣化で正しく再生できないものがありました。前回取り込んで削除していたのが救出できれば…、とワラにもすがる思いでHDDをPHOTORECを用いたところ、運良く救出することができました。
しかし、救出したファイルはファイル名がただの記号の羅列で撮影日時がわかりません。そこでこちらの御指南通りにやってみると、見事にファイル名が撮影日時に早変わりにしました!
もう、感謝感謝でしかありません。
DVテープは劣化しないとたかをくくっていましたが、その考えが甘かったと深く反省し、迅速にデータ化を進めたいと思います。
大変お世話になり、ありがとうございました。
もととさん
お役に立てたようでよかったです!
結局この記事を公開後、記事中で紹介させていただいたフリーソフトのMediainfoやbatファイルは使うことがないまま動作確認してなかったのですが、無事に動作していたようで安心しました。
私の手元のHDDへ保存されたテープのデータもタイムカプセルのように時間だけが過ぎていってましたが、外出自粛ということもあり久しぶりに観賞しようと思います。
ご返信いただきましてありがとうございます。
私も外出自粛で休みの日にすることがないので、面倒になって放り出していたデータ化を再開しました。
取り込みをしながら、今では偉そうにしている子供たちの可愛く懐かしい映像を妻と思い出話をしながら楽しんでおります。
おっしゃるとおりビデオ映像はタイムカプセルのようなものですね。開けば懐かしい時間へ心を連れて行ってくれます。お出かけの度に重たいビデオカメラを持ってあちこちで撮りだめた甲斐がありました。