2013-04-30 17 views
5

Potrzebuję czytać metadane z plików wideo na Androida. Przyjrzałem się znacznikom dostępnym poprzez MediaStore.Video.VideoColumns i android.media.MediaMetadataRetriever. Jednak oba te elementy nie dają mi dostępu do dodatkowych tagów, do których dostęp zapewnia narzędzie takie jak ExifTool by Phil Harvey.Wyodrębnij metadane z plików wideo na Androidzie

Jestem głównie zainteresowany aparatem/modelem aparatu, znacznikami ID kompresora, ale tak naprawdę chciałbym wiedzieć, jak uzyskać dostęp do innych tagów.

Czy w Androidzie istnieją interfejsy API do odczytywania tych dodatkowych tagów lub czy osobiście analizuję implementację formatu pliku, sam macierzysty metadanych?

Tutaj wyjście generowane przez ExifTool dla wideo wykonane za pomocą aparatu iPhone:

ExifTool Version Number   : 9.28 
File Name      : iPhone.MOV 
Directory      : . 
File Size      : 74 kB 
File Modification Date/Time  : 2013:04:30 14:41:24+09:00 
File Access Date/Time   : 2013:04:30 14:41:24+09:00 
File Creation Date/Time   : 2013:04:30 14:41:24+09:00 
File Permissions    : rw-rw-rw- 
File Type      : MOV 
MIME Type      : video/quicktime 
Major Brand      : Apple QuickTime (.MOV/QT) 
Minor Version     : 0.0.0 
Compatible Brands    : qt 
Movie Data Size     : 71757 
Movie Header Version   : 0 
Modify Date      : 2013:04:30 05:40:07 
Time Scale      : 600 
Duration      : 5.36 s 
Preferred Rate     : 1 
Preferred Volume    : 100.00% 
Preview Time     : 0 s 
Preview Duration    : 0 s 
Poster Time      : 0 s 
Selection Time     : 0 s 
Selection Duration    : 0 s 
Current Time     : 0 s 
Next Track ID     : 3 
Track Header Version   : 0 
Track Create Date    : 2013:04:30 05:40:06 
Track Modify Date    : 2013:04:30 05:40:07 
Track ID      : 1 
Track Duration     : 5.34 s 
Track Layer      : 0 
Track Volume     : 100.00% 
Balance       : 0 
Audio Channels     : 1 
Audio Bits Per Sample   : 16 
Audio Sample Rate    : 44100 
Audio Format     : chan 
Matrix Structure    : 0 1 0 -1 0 0 272 0 1 
Image Width      : 480 
Image Height     : 272 
Clean Aperture Dimensions  : 480x272 
Production Aperture Dimensions : 480x272 
Encoded Pixels Dimensions  : 480x272 
Media Header Version   : 0 
Media Create Date    : 2013:04:30 05:40:06 
Media Modify Date    : 2013:04:30 05:40:07 
Media Time Scale    : 600 
Media Duration     : 5.37 s 
Media Language Code    : und 
Graphics Mode     : ditherCopy 
Op Color      : 32768 32768 32768 
Handler Class     : Data Handler 
Handler Vendor ID    : Apple 
Handler Description    : Core Media Data Handler 
Compressor ID     : avc1 
Source Image Width    : 480 
Source Image Height    : 272 
X Resolution     : 72 
Y Resolution     : 72 
Compressor Name     : H.264 
Bit Depth      : 24 
Video Frame Rate    : 30 
Camera Identifier    : Back 
Frame Readout Time    : 28512 microseconds 
Make       : Apple 
Software Version    : 6.1.3 
Create Date      : 2013:04:30 14:39:40+09:00 
GPS Coordinates     : 37 deg 15' 19.08" N, 127 deg 2' 59.28" E, 43 m Above Sea Level 
Model       : iPhone 4S 
Handler Type     : Metadata Tags 
Make (und-IN)     : Apple 
Creation Date (und-IN)   : 2013:04:30 14:39:40+09:00 
GPS Coordinates (und-IN)  : 37 deg 15' 19.08" N, 127 deg 2' 59.28" E, 43 m Above Sea Level 
Software (und-IN)    : 6.1.3 
Model (und-IN)     : iPhone 4S 
Avg Bitrate      : 107 kbps 
GPS Altitude     : 43 m 
GPS Altitude Ref    : Above Sea Level 
GPS Latitude     : 37 deg 15' 19.08" N 
GPS Longitude     : 127 deg 2' 59.28" E 
GPS Position     : 37 deg 15' 19.08" N, 127 deg 2' 59.28" E 
Image Size      : 480x272 
Rotation      : 90 
+0

Mogę mieć rozwiązanie, czy masz link do przykładowego wideo? –

+0

Wypróbuj http://dev.exiv2.org/attachments/341/video-2012-07-05-02-29-27.mp4, które otrzymałem z http://dev.exiv2.org/boards/3/topics/1189. Nie wiem jednak o prawach autorskich i tym podobnych. Dzięki. –

+0

Ta biblioteka zwróci wszystkie dostępne znaczniki metadanych (zrzeczenie: napisałem). Możesz także skompilować go ręcznie, jeśli chcesz włączyć obsługę dodatkowych formatów. https://github.com/wseemann/FFmpegMediaMetadataRetriever –

Odpowiedz

8

Ta biblioteka zwróci wszystkie dostępne tagi metadanych (Zastrzeżenie: Napisałem go). Możesz także skompilować go ręcznie, jeśli chcesz włączyć obsługę dodatkowych formatów. http://github.com/wseemann/FFmpegMediaMetadataRetriever

+0

Oto lepsza odpowiedź - http://stackoverflow.com/a/36960843/1359643 – Inoy

+2

Biblioteka Williama była bardziej wiarygodna w moich dwóch próbach – Ohiovr

Powiązane problemy