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

question: MOV Quicktime and MP4 metadata #66

Open
yuribudilov opened this issue Jan 1, 2022 · 7 comments
Open

question: MOV Quicktime and MP4 metadata #66

yuribudilov opened this issue Jan 1, 2022 · 7 comments

Comments

@yuribudilov
Copy link

yuribudilov commented Jan 1, 2022

Hello everyone, and happy 2022.

I have just a question, it is not an issue at all.

I have a lot of .MP4 videos which originated from Android phones.
Also, I have equally large number of .MOV files which originated from Apple iPhones (Quicktime?).

I am after video date/time creation and GPS Location coordinates for MOV files and MP4 files.

Can you please advise if there is a Rust crate to extract the video metadata from MOV and MP4 files ?

I have tried code sample on both MP4 and MOV, it worked (it extracted date, in Unix/MP4-epoch format integer?).

I could not find anywhere how to extract the GPS latitude/longitude coordinates from either MP4 or MOV files.

I used exifdata command line utility to obtain the date/time and GPS latitude & longitude, so I do know they are stored in my files. I wanted access to metadata directly from Rust program, not from command line utility.

I thank you very much in advance.

@yuribudilov yuribudilov changed the title question: MOV Quicktime question: MOV Quicktime and MP4 metadata Jan 1, 2022
@alfg
Copy link
Owner

alfg commented Jan 1, 2022

Hi @yuribudilov,

Happy 2022! Unfortunately, this package does not cover the meta box currently, which is where the metadata information from the QT format (mov) are stored according to the spec document. However, I'll leave this issue open as a TODO to add support for the meta box and an interface to parse the information.

You may be able to check out https://github.com/mozilla/mp4parse-rust to see if it's supported. I have not tried it myself yet.

Thanks!

@yuribudilov
Copy link
Author

thank you very much.

I look forward to this being added sometime in 2022 !

@osain-az
Copy link

Hello @alfg Thanks for the great work.

I have a question.
I am trying to chunk/split video file and upload each to a server. I have look at the documentation but am not sure if is possible to chunk/split a video file.

If is possible can you point me to the method or any others ways/means of chunking video file.
Thanks for your assist.

@alfg
Copy link
Owner

alfg commented Apr 20, 2022

Hey @osain-az,

It should be possible to write the header as the init file and then the rest of the mp4 chunk segments. However, I don't have a good example of this working yet. I suggest checking out mp4split from the Bento4 library/utility. It's not a Rust library, but I have used it successfully to split up mp4 chunks for DASH.

https://github.com/axiomatic-systems/Bento4

@osain-az
Copy link

Hey @osain-az,

It should be possible to write the header as the init file and then the rest of the mp4 chunk segments. However, I don't have a good example of this working yet. I suggest checking out mp4split from the Bento4 library/utility. It's not a Rust library, but I have used it successfully to split up mp4 chunks for DASH.

https://github.com/axiomatic-systems/Bento4

Thanks for the information.

@ririsoft
Copy link
Contributor

work in progress : #77

@WERDXZ
Copy link

WERDXZ commented Dec 27, 2023

Hello everyone, I'm currently working on implementing this in rust live image. But I couldn't find a way to write a Meta Track (I suppose it need a Metatrack handler and Metatrack Config) and also writing QT metadata into the metadata part.

Thank you very much:P

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

5 participants