7

ひどいファイル名のホーム ムービーが TB を超えています。欲しいものを見つけることは不可能です。すべてのファイルの名前を、最初に記録された時間 (コンピューターに配置されたファイルの時間ではありません) に変更したいと考えています。一部のアプリケーション (Ulead Video Studio など) は、コーデックに埋め込まれていると思われるこの情報にアクセスできます。

この情報を抽出してファイルの名前を変更してファイルを簡単に整理できるようにする.Netアプリを作成する方法、またはこれを実行するアプリケーションを見つける方法を見つけたいです。よろしくお願いします。

追加情報:: ホーム ムービーは、miniDV および DVD カムコーダーでキャプチャされました。

4

5 に答える 5

7

これは、少なくとも私のカメラで生成された MOV ファイルに対して機能する mplayer に基づくハックなハウツーです。

mplayer -vo null -ao null -frames 0 -identify myfile.MOV 2>/dev/null|grep creation_time:

私はそれらをバッチリネームするためにそれを使用します:

for m in MVI*.MOV; do
    t=$(mplayer -vo null -ao null -frames 0 -identify $m 2>/dev/null|grep creation_time:|sed 's/.*creation_time: *//;s/[-:]//g;s/ /-/')
    mv ${m} ${t}_${m}
done
于 2011-05-18T20:23:57.727 に答える
1

元のキャプチャで絶対タイムスタンプが使用されていない限り、運が悪い可能性が高くなります。私の経験では、ほとんどのキャプチャ アプリケーションは、世界時ではなく、最初のフレームに時刻 0 を使用します。これを確認するには、GraphStudioを取得してファイルをロードし、最初の出力ピンのプロパティで開始時間を調べます。

GSpotを使用して 、探しているメタデータがファイルに存在するかどうかを確認することもできます。AVI ファイルについては、16 進エディタでVirtualDubの RIFF 機能を調べることもできます。キャプチャ アプリケーションが適切でない限り、そのデータはおそらく記録されませんでした。

元のタイムスタンプが何らかの形で利用可能であると仮定すると、それを見つけるのに役立ったアプリケーションのソースを調べることをお勧めします。

私のビデオでは、キャプチャ時にメタデータを取得し、それを XML ファイルに保存し、トランスコーディング / 後処理アプリで最終変更のタイムスタンプを元のタイムスタンプとして固定したままにしています。

于 2008-10-18T00:56:27.117 に答える
1

DVD について話すことはできませんが、デジタル ビデオ (DV)コーデックは確かに、(カメラに設定された) 時間と日付を各フレームに保存します!

Linux では、dvgrabこれらのタイムスタンプを処理するようなプログラムがあり、Windows では dvdate.exe という名前のツールが処理すると思います。

DV ビデオは、AVI コンテナ (.avi)、raw (.dv または .dif)、および QuickTime (.mov) に保存できます。しかし、すべての AVI が DV というわけではありません。60 分の DV ビデオは約 13GB です。– ファイルが小さい場合は、おそらく既に他のコーデックに変換されており、タイムスタンプが失われています。

于 2013-05-29T13:00:05.660 に答える
1

これは、私がしばらく前に見つけたコードの一部です。

http://www.developerfusion.com/code/3435/a-convenient-wrapper-class-to-get-file-info/

于 2008-10-17T17:27:21.157 に答える