Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support GP5. Data Type #4

Open
stilldavid opened this issue Apr 5, 2017 · 19 comments
Open

Support GP5. Data Type #4

stilldavid opened this issue Apr 5, 2017 · 19 comments

Comments

@stilldavid
Copy link
Owner

Based on a tweet, I think it's got camera data like EXIF including shutter speed and ISO.

Printing it out on screen as strings looks something like:

2.00.00LAE6091614106816
y�4z8�~�N�
          ��(�C3161325340567HERO5 Black
��Ey�4z8�~�N�
             ��(�VA�g
So�+40.0371-105.2213/���8
�8��d�cv�X�B
G�	�
5'd*�4��"~\�
���������yq������
����E(�80
GPV
GP�i�GPUGP�
GPUGP@��GPVGP
CH�GPUGP�i�GP
UGP�GPVGP
�(�GPUGP�Z�GPU
GP���GPVGP��
�GPUGP���GPU
GP�k�GPVGP��
GPUGP�R�GPU
GP�/�GPVGP�6�GP
UGP�T�GPUGP
�d�GPVGP�=�GP
UGP���GPUGP�P
�GPVGP�8�GPU

... which I don't recognize off hand, but it does have the firmware version, serial and model number of the camera, and at least cursory GPS coordinates. The rest seems meaningful and I bet matches a well-known metadata format.

Will dig.

@JuanIrache
Copy link
Contributor

Hi David,

Not sure if here's where I should post this, but after the firmware update to v2.0 the .bin files of my H5 Session (extracted with ffmpg) are not readable by your gpmdinfo. Probably you were already aware of this, but just in case.

Could not find label in list: GPRO (4750524f)

@stilldavid
Copy link
Owner Author

Thanks, Juan! The update I just pushed added the two new types (GPRO and GP5.) to the list of "known" telemetry types so it will now parse the files again, but there's still some figuring to do to get at the new stuff in the firmware update (like ISO and shutter speed and whatnot).

@JuanIrache
Copy link
Contributor

That was quick. Thanks!

@JuanIrache
Copy link
Contributor

Will dig deeper myself when I get a chance, but still after updating your code my new files cannot be read.

fmt.println(t.Gyro) in gpmdinfo gives me

[]
&{[] [] [] {0} {0} {0001-01-01 00:00:00 +0000 UTC} {0}}

And sometimes

Could not find label in list: TICK (5449434b)

@stilldavid
Copy link
Owner Author

Can you send me a copy of an .mp4, or at least the .bin file associated with a file that has a TICK in it?

@JuanIrache
Copy link
Contributor

JuanIrache commented Apr 12, 2017

Apparently the data should fine on Session's v2.00: https://twitter.com/David_Newman/status/852211507584741377

I have uploaded some samples that don't work for me, from both firmware versions. Bins: tailorandwayne.com/sessionbins.zip Mp4s: tailorandwayne.com/sessionmp4s.zip

Hope it helps

Edit: I just realised in framerates over 60fps sensor data appears to be in Stream #0:2 instead of Stream #0:3

@JuanIrache
Copy link
Contributor

Ok, so I've seen how to ignore the undefined labels (from v2.00 files) and get to the data anyway. These are the ones I've found: TICK, STNM (appears to list settings, maybe a header?), ISOG, SHUT (ISO value and shutter speed, presumably).

You can find this in file v2.00-90fps.bin from the previous post

@JuanIrache
Copy link
Contributor

JuanIrache commented Apr 13, 2017

In the ffmpeg command, you can replace

-map 0:3

with

-map 0:m:handler_name:" GoPro MET"

And the metadata will always load, even if it's not in Stream 0:3 (which happens in high framerate files). Note that the string starts with a TAB, not spaces.

(should I post this somewhere else? It's not related to GP5)

@stilldavid
Copy link
Owner Author

should I post this somewhere else

If you want to make a pull request that updates the docs, I'd be happy to merge it :) I'll see if I can find time today or tomorrow to go through the ISOG and SHUT codes as well!

@JuanIrache
Copy link
Contributor

If you want to make a pull request that updates the docs

Hopefully I did that right. First time I use Github for more than commenting.

I created a small package with ffmpeg, a modified version of your gpmdinfo that extracts data to csv and a script that puts it all together. Is it ok if I share it? I've put your attribution + license in a readme.txt, not sure if that's the right way to do it. Thanks

@dnewman-gpsw
Copy link

Here is the GoPro official public GPMF parser https://github.com/gopro/gpmf-parser

@shuchitagupta
Copy link

Hi
I am facing this error - Could not find label in list: TYPE (54595045)

Could someone please help.

Thanks

@JuanIrache
Copy link
Contributor

@shuchitagupta which camera are you using?

@shuchitagupta
Copy link

@JuanIrache GoPro Hero 6

@JuanIrache
Copy link
Contributor

@shuchitagupta If you can share a very shor clip sample with us, I'll have a look

@shuchitagupta
Copy link

shuchitagupta commented Nov 25, 2017

@JuanIrache This is a small clip - goo.gl/LshnvQ

@JuanIrache
Copy link
Contributor

@shuchitagupta Thanks. I added the missing labels an created a pull request.

@stilldavid
Copy link
Owner Author

Thanks for the sample Shuchita and for the quick response, Juan! Merged.

@shuchitagupta
Copy link

@JuanIrache Thanks for the quick fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants