재미로 하는 찬의아빠의 일상,리뷰 블로그
TODAY TOTAL
12-30 21:37
반응형
Mov (3)
[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
(WPF) 아이폰 사진 정리기 For Windows 제작기.. #2
반응형

딱 일주일만에 시간이 다시 나서 새벽에 끄적거린 결과를 공유 합니다.

 

원래는 하나의 UI 에서 모든 옵션을 선택하도록 할 계획이었으나, 

 

사용 편의가 떨어지고 어떤 순서로 선택해야 하는지 명확하지 않은것 같아

 

아래와 같이 WPF 페이지를 통해 구현할 계획이다.

 

출발경로, 도착경로, 폴더분석, 확장자선택, 복사/이동 여부, 중복파일 처리를 선택하고 나면 

 

최종 선택 옵션을 보여주고 실행 할수 있도록 한다.

 

페이지를 만들다 보니 사진 정리기가 아니라 대량 파일 복사/이동 프로그램이 되어 버렸는데,

 

그래도 다 만들고 나면 꽤나 괜찮게 쓰일 것 같다.

 

최대한 MVVM 패턴 안에서 해결하려다 보니까 생각보다 시간이 많이 걸리는것 같다.

 

시간 날 때마다 개발할 예정이다.

반응형
  Comments,     Trackbacks
(WPF) 아이폰 사진 정리기 For Windows 제작기..
반응형

아이폰에서 찍은 사진과 저장한 사진들을 한번에 Windows PC 에 동기화로 저장하다보니, 

 

수만장의 사진 과 동영상 파일들이 하나의 폴더에 있는 기현상이 일어나게 되었다.

 

게다가, 예전에 찍은 사진인데, 무슨 이유인지 윈도우에서는 수정된 날짜가 최근으로 나오기까지 하니, 

 

관리가 제대로 될리가 없다.

 

대량의 파일을 날짜별로 차곡차곡 정리할 수 있게 해주는 툴을 만들면 좋겠다.

 

대략 화면은 이렇게 할것 같다.

대략 wpf 로 위와 같이 구성했고, 

아래는 Run 버튼을 넣긴 할건데, 옵션이 더 들어가야 할 것 같아서 남겨 두었다.

 

UI 꾸미는 방법은 잘 몰라서 차차 공부하면서 할거고,

시간 되는대로 만들 예정

반응형
  Comments,     Trackbacks