会社行きたくなかったんです。

自由になりたくて会社辞めました

Huawei medeapad m3 IT Panasonic HX-A100 Visual Studio Xperia XZ Premium ガジェット プログラミング

VB.netでメディアファイル(写真、動画)のメタデータを取得する方法

投稿日:

先日、スマホをXperia Z4から、Xperia XZ Premiumに変更しました。
Xperia Z4では、動画の撮影日時は、動画ファイルの更新日時でしたが、
Xperia XZ Premiumでは、動画ファイルの更新日時が、実際に撮影した時刻の9時間前になっています。
スマホのタイムゾーンは日本標準時になっています。

スポンサーリンク

写真の撮影日時は、Exif情報にあるので、プロパティの詳細タブを開けば確認できます。
動画の撮影日時は、よくわかりませんが、MP4の場合、どうやらメタデータに入っているようです。
MediaInfoというフリーのツールを使って確認することができます。

Xperia XZ Premium、Xperia Z4、Xperia Z3、iPod Touch(第5世代)、Huawei Mediapad M3、Panasonic HX-A100 に関して、MediaInfoで確認した所、次の表のようになっていました。

Xperia XZ Premium Xperia Z4 Xperia Z3 iPod Touch Huawei Mediapad M3 Panasonic HX-A100
写真の更新日時 UTC JST JST JST 不明 UTC
写真の撮影日時(Exif情報) JST JST JST JST JST JST
動画の更新日時 UTC JST JST JST 不明 UTC
動画のエンコード日(MediaInfo) UTC UTC UTC UTC UTC JST

[UTC(協定世界時)、JST(日本標準時)]

Huawei Mediapad M3の更新日時は、ツールでパソコンに取り込んだ時点で変わってしまうので、不明です。

上の表を見ると、写真の撮影日時は、全てJSTになっています。
MediaInfoのエンコード日は、「Panasonic HX-A100」以外は、全てUTCなので、UTCが保存されているのが一般的なのでしょう。

ということで、写真の場合は、Exifから読み出し、動画の場合はメタデータを読めば良いことがわかりました。
Exifからの読み出しに関しては、こちらの記事に記述しました。

VB.netでメディアファイル(写真、動画)のプロパティを取得する方法

今回は、VB.netでメディアファイル(写真、動画)のメタデータを取得する方法を紹介します。

VB.netでメディアファイル(写真、動画)のメタデータを取得する方法

こちらから、コマンドラインで操作できる「MediaInfo」をインストールします。

64bit v0.7.97をインストールしました。

VB.netでメディアファイル(写真、動画)のメタデータを取得する方法

        Dim compiler As New Process()
        'MediaInfo.exeのパス(CLIの方)
        compiler.StartInfo.FileName = "C:\Program Files\MediaInfo_CLI_0.7.97_Windows_x64\MediaInfo.exe"
        compiler.StartInfo.Arguments = "[メディアファイルのパス]"
        compiler.StartInfo.UseShellExecute = False
        compiler.StartInfo.RedirectStandardOutput = True
        compiler.Start()
        '結果をRichTextBoxに表示します。
        RichTextBox1.Text = compiler.StandardOutput.ReadToEnd
        compiler.WaitForExit()

こんな感じで取得できます。

General
Complete name : C:\Temp\S1050002.MP4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42 (mp42/avc1)
File size : 37.2 MiB
Duration : 22 s 22 ms
Overall bit rate mode : Variable
Overall bit rate : 14.2 Mb/s
Encoded date : UTC 2017-07-04 14:32:07
Tagged date : UTC 2017-07-04 14:32:07
PANA : HX-A100
IsTruncated : Yes
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L4
Format settings, CABAC : Yes
Format settings, RefFrames : 2 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 22 s 22 ms
Bit rate mode : Variable
Bit rate : 14.0 Mb/s
Maximum bit rate : 16.8 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 (30000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.225
Stream size : 36.8 MiB (99%)
Language : Japanese
Encoded date : UTC 2017-07-04 14:32:07
Tagged date : UTC 2017-07-04 14:32:07
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 22 s 22 ms
Source duration : 22 s 80 ms
Bit rate mode : Constant
Bit rate : 128 kb/s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 336 KiB (1%)
Source stream size : 337 KiB (1%)
Language : Japanese
Encoded date : UTC 2017-07-04 14:32:07
Tagged date : UTC 2017-07-04 14:32:07

秒単位まで取得できています。

-Huawei medeapad m3, IT, Panasonic HX-A100, Visual Studio, Xperia XZ Premium, ガジェット, プログラミング

Copyright© 自由になりたくて会社辞めました , 2024 AllRights Reserved Powered by AFFINGER4.