web-dev-qa-db-ja.com

ビデオ(.AVI .MP4)が実際に記録された日付を見つけるにはどうすればよいですか?

properties> date created ...これはビデオが作成された日付を意味すると思っていましたが、最終的には、移動、再編成、ファイルを開くたびに日付が変わることに気付きました。多くの場合、変更日は作成日よりも前です。 jpegが取得された日付はすぐに入手できます。 AVIまたはMP4ファイルから同じ情報を取得する方法はありますか?あなたが与えることができる情報をありがとう。

23
user374552

ビデオメタデータの標準が明確に定義されていないようです(それぞれ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();
}
6
Isak Savo

多くのビデオファイルで日付/時刻メタデータを検索するためのクイックコマンド

次のコマンドは、さまざまなAVI/MP4ビデオの日付/時刻メタデータを見つけるのに役立ちました。

ffmpeg -i /path/to/video.mp4 -dump

注:他の回答で述べたように、そのような情報がallビデオファイルで利用できる、または特定の形式で利用できるという保証はありません。

一部のAVIファイルの略式サンプル出力

    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

一部のMP4ファイルのサンプル出力の短縮

  Metadata:
    major_brand     : mp41
    minor_version   : 538120216
    compatible_brands: mp41
    creation_time   : 2018-03-13T15:43:24.000000Z
5
Chriki

Exiftoolsまたはmediainfoを試してみてください。これにより、エクスポート機能がテキストとして提供されます。夏時間に注意してください。

1
skyrail

メタデータのその部分の存在は、ファイルを書き込んだアプリケーションに完全に依存しています。タイムスタンプやカメラ情報、ジオロケーションなど、ファイルに関するメタデータ(EXIFタグ)を含むJPGファイルをロードすることは非常に一般的です。 MP3ファイルのID3タグも非常に一般的です。しかし、この種のメタデータをビデオファイルで見ることはあまり一般的ではありません。

ファイルからこのデータを手動で読み取るためのツールが必要な場合、GSpotはトリックを実行する場合があります。 http://www.videohelp.com/tools/Gspot

これをコードで読みたい場合、各コンテナ形式には独自の標準があり、サポートするにはそれぞれ少しの調査と実装が必要になると思います。

1
David

私にとって、あなたが言うように、再編成は作成時間を変更するので、mtime(変更時間)は多くの(ほとんどの)ケースで作成日よりも早いです。ただし、mtime AFAIUIはファイルの内容が実際にいつ変更されたかを正確に反映しているため、ビデオキャプチャ日付の正確な記録である必要があります。

ムービーファイルのこのメタデータエラーを発見した後、mtimeに基づいてビデオの名前を変更するため、これをより堅牢な方法で保存します。

0
darrenp

ビデオまたは写真の「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が必要です。

0
rogsonl

次のオンラインツールを使用しました: https://www.get-metadata.com ファイルをアップロードして分析し、そのすべてを表示しますメタデータ。

0
Andrej Adamenko