재미로 하는 찬의아빠의 일상,리뷰 블로그
TODAY TOTAL
12-21 21:25
반응형
프로그래밍/개발 팁 공유 (8)
[C#][.Net Framework] 사진,영상 메타데이터 얻는 방법
반응형

아이폰 사진 정리 프로그램을 제작하면서 사진 및 영상의 메타데이터를 얻어올 필요가 있었다.

 

여러가지 검색해 본 결과, 아래 C# API 를 사용하는것이 가장 간편하고 정확했다.



Nuget 패키지 관리를 접속하여 'MetadataExtractor' 를 검색하여 설치합니다.

 

코드는 아래와 같이 함수를 만들어 사용하면 편합니다.

public static string GetMetaData(string filePath, string directoryName, string tagName)
{
    IEnumerable<MetadataExtractor.Directory> directories = ImageMetadataReader.ReadMetadata(filePath);
    MetadataExtractor.Directory directory = directories.Where(s => string.Equals(s.Name, directoryName)).FirstOrDefault();

    if (directory == null)
        return string.Empty;

    MetadataExtractor.Tag tag = directory.Tags.Where(s => string.Equals(s.Name, tagName)).FirstOrDefault();

    if (tag == null)
        return string.Empty;

    return tag.Description;
}

실제 사용은 

string meta1 = GetMetaData(srcFilePath, "QuickTime Metadata Header", "Creation Date");

이런식으로 할 수 있으며, 아래와 같은 메타데이터가 있는 파일에서 

QuickTime File Type
        Major Brand : qt
        Minor Version : 0
        Compatible Brands : qt
QuickTime Movie Header
        Version : 0
        Flags : 0 0 0
        Created : 월 12 30 07:26:16 2019
        Modified : 월 12 30 07:26:17 2019
        TrackId : 600
        Duration : 00:00:01.2670000
        Preferred Rate : 1
        Preferred Volume : 1
        Matrix : [36 values]
        Preview Time : 0
        Preview Duration : 0
        Poster Time : 0
        Selection Time : 0
        Selection Duration : 0
        Current Time : 0
        Next Track Id : 5
QuickTime Track Header
        Version : 0
        Flags : 0 0 15
        Created : 월 12 30 07:26:16 2019
        Modified : 월 12 30 07:26:17 2019
        TrackId : 1
        Duration : 760
        Layer : 0
        Alternate Group : 0
        Volume : 0
        Matrix : 1 0 0 0 1 0 0 0 1
        Width : 1920
        Height : 1080
        Rotation : 0
QuickTime Track Header
        Version : 0
        Flags : 0 0 15
        Created : 월 12 30 07:26:16 2019
        Modified : 월 12 30 07:26:17 2019
        TrackId : 2
        Duration : 759
        Layer : 0
        Alternate Group : 0
        Volume : 1
        Matrix : 1 0 0 0 1 0 0 0 1
        Width : 0
        Height : 0
QuickTime Track Header
        Version : 0
        Flags : 0 0 15
        Created : 월 12 30 07:26:16 2019
        Modified : 월 12 30 07:26:17 2019
        TrackId : 3
        Duration : 760
        Layer : 0
        Alternate Group : 0
        Volume : 0
        Matrix : 1 0 0 0 1 0 0 0 1
        Width : 0
        Height : 0
QuickTime Track Header
        Version : 0
        Flags : 0 0 15
        Created : 월 12 30 07:26:16 2019
        Modified : 월 12 30 07:26:17 2019
        TrackId : 4
        Duration : 760
        Layer : 0
        Alternate Group : 0
        Volume : 0
        Matrix : 1 0 0 0 1 0 0 0 1
        Width : 0
        Height : 0
QuickTime Metadata Header
        GPS Location : +37.6129+127.0354+037.798/
        Make : Apple
        Model : iPhone 8 Plus
        Software : 13.3
        Creation Date : 2019-12-30T16:26:15+0900
File Type
        Detected File Type Name : QuickTime
        Detected File Type Long Name : QuickTime
        Detected MIME Type : video/quicktime
        Expected File Name Extension : mov
File
        File Name : IMG_4432_HEVC.MOV
        File Size : 1302154 bytes
        File Modified Date : 월 12 30 16:26:15 +09:00 2019

아래 값을 얻어낼 수 있습니다.

2019-12-30T16:26:15+0900

 

반응형
  Comments,     Trackbacks
커맨드를 이용한 VisualStudio 프로젝트 빌드 방법(VisualStudio 2015 기준)
반응형

오늘 포스팅은 

VisualStudio 를 실행하지 않고도 빌드를 할 수 있는 방법을 공유 드립니다.

이 기능은 다수의 프로젝트를 관리할 때 사용하기도 하고, 빌드 자동화 솔루션 스크립트에 사용하기도 합니다.


순서는 다음과 같습니다.


빌드 환경 : VisualStudio 2015 Community


첫번째로, IDE 폴더에 진입하여 커맨드빌드에 필요한 파일을 확인합니다.


VS2015의 경우에 필요한 파일은 devenv.com 이며, 기본 경로는 

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com

입니다.

※ VS2017도 동일합니다.


devenv.com 경로. Copyrightⓒ2018 아미와아삐 All rights reserved.


번째, 커맨드창을 실행하여 솔루션 폴더에 진입합니다.


마지막으로, devenv.com 으로 *.sln 파일을 빌드합니다.


빌드 명령은 아래와 같습니다.

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com" project.sln /build "Debug|Any CPU"


또한, 빌드 옵션 구성 관리자에 정의 되어 있는 구성/플랫폼에 따라 "Release|x64" 등 다양하게 옵션 처리하여 빌드 가능합니다.


커맨드 빌드 결과. Copyrightⓒ2018 아미와아삐 All rights reserved.



마무리...

위와 같이 VisualStudio 에서 사용할 수 있는 커맨드 빌드를 알아보았습니다.

앞으로 개발에 참고될만한 내용들을 계속 포스팅할 예정입니다. 개발에 참고되길 바랍니다.

반응형
  Comments,     Trackbacks