properties> date created ...これはビデオが作成された日付を意味すると思っていましたが、最終的には、移動、再編成、ファイルを開くたびに日付が変わることに気付きました。多くの場合、変更日は作成日よりも前です。 jpegが取得された日付はすぐに入手できます。 AVIまたはMP4ファイルから同じ情報を取得する方法はありますか?あなたが与えることができる情報をありがとう。
ビデオメタデータの標準が明確に定義されていないようです(それぞれEXIFやID3などがある写真や音声ファイルと比較して)
のようないくつかのタグが存在しますタイトル、Composerなど。Windows7でムービーファイルを選択すると(おそらく以前のバージョンも)Explorerまたは右クリックしてプロパティを表示します。日付を記録するためのタグが見つかりませんでした。残念ながら-最も近いものはYear
(整数)です:
プログラムでは、モノプロジェクトから---(Taglib Sharp を使用して、.NETでこれらのタグのほとんどを読み書きできます。ソースとバイナリは banshee FTPサーバー で利用可能です。サポートする形式の非常に印象的なリストがあります(ただし、タグの読み取りまたは書き込みを試みる場合は必ず例外をキャッチしてください-理解できないファイルを見つけるたびにスローされます)ホームレコーディングの。)
タグを読み取るには:
using (var f = TagLib.File.Create(@"c:\Path\To\MyVideo.mp4"))
{
if (f.Tag != null)
{
string title = f.Tag.Title;
Size resolution = new Size(f.Properties.VideoWidth, f.Properties.VideoHeight);
int year = f.Tag.Year;
// etc.
}
}
同様に、メタデータを書き込みファイルに戻します:
using (var f = TagLib.File.Create(@"c:\Path\To\MyVideo.mp4"))
{
f.Tag.Title = "My Awesome Movie";
f.Tag.Year = (uint)2011;
f.Save();
}
次のコマンドは、さまざまなAVI/MP4ビデオの日付/時刻メタデータを見つけるのに役立ちました。
ffmpeg -i /path/to/video.mp4 -dump
注:他の回答で述べたように、そのような情報がallビデオファイルで利用できる、または特定の形式で利用できるという保証はありません。
Metadata:
Make : FUJIFILM
Model : FinePix AX655
DateTime : 2014:08:25 05:19:45
JPEGInterchangeFormat: 658
JPEGInterchangeFormatLength: 1521
Copyright :
DateTimeOriginal: 2014:08:25 05:19:45
DateTimeDigitized: 2014:08:25 05:19:45
Metadata:
major_brand : mp41
minor_version : 538120216
compatible_brands: mp41
creation_time : 2018-03-13T15:43:24.000000Z
Exiftoolsまたはmediainfoを試してみてください。これにより、エクスポート機能がテキストとして提供されます。夏時間に注意してください。
メタデータのその部分の存在は、ファイルを書き込んだアプリケーションに完全に依存しています。タイムスタンプやカメラ情報、ジオロケーションなど、ファイルに関するメタデータ(EXIFタグ)を含むJPGファイルをロードすることは非常に一般的です。 MP3ファイルのID3タグも非常に一般的です。しかし、この種のメタデータをビデオファイルで見ることはあまり一般的ではありません。
ファイルからこのデータを手動で読み取るためのツールが必要な場合、GSpotはトリックを実行する場合があります。 http://www.videohelp.com/tools/Gspot
これをコードで読みたい場合、各コンテナ形式には独自の標準があり、サポートするにはそれぞれ少しの調査と実装が必要になると思います。
私にとって、あなたが言うように、再編成は作成時間を変更するので、mtime(変更時間)は多くの(ほとんどの)ケースで作成日よりも早いです。ただし、mtime AFAIUIはファイルの内容が実際にいつ変更されたかを正確に反映しているため、ビデオキャプチャ日付の正確な記録である必要があります。
ムービーファイルのこのメタデータエラーを発見した後、mtimeに基づいてビデオの名前を変更するため、これをより堅牢な方法で保存します。
ビデオまたは写真の「dateTaken」日付を取得する最良の方法は、以下を使用することです。
Imports Microsoft.WindowsAPICodePack.Shell
Imports Microsoft.WindowsAPICodePack.Shell.PropertySystem
Imports System.IO
Dim picture As ShellObject = ShellObject.FromParsingName(path)
Dim picture As ShellObject = ShellObject.FromParsingName(path)
Dim ItemDate=picture.Properties.System.ItemDate
上記のコードには、Microsoftの内部にあり、他の外部DLLに依存しないシェルAPIが必要です。
次のオンラインツールを使用しました: https://www.get-metadata.com ファイルをアップロードして分析し、そのすべてを表示しますメタデータ。