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

Master nexus 5 #53

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

fredericgermain
Copy link

@fredericgermain fredericgermain commented May 15, 2016

Hi Federico,

I worked a little to make untrunc work on a mp4 that my nexus 5 recorded.

It actually didn't work because of the SHANE fix that I still had...
Anyway, I made some fix dev, which might be interesting :

  • update untrunc.pro to use pkgconfig or static lib depending on flag
  • allow to save a file with a given mdat atom position : this allow to compare a file processed with untrunc with the original file more easily
  • last chunk was not well processed
  • fix for file more than 2GB (but lower than 4GB...)
  • write a series of patch to make the data in stsz, stsc, stco, stts the same as generated by nexus.
    -> it groups consecutive chunk of data of the same track together.
    I'm not sure it's necessary though, it might make files smaller.
  • fix fixTimes. if reference file is shorter, we were copying the reference times several time. but the first time duration on nexus is larger than the other ones, so it make the sound go faster... I just use the time duration of the 2nd chunk in loop

Hope you can have a look and most of them are mergeable

use with "qmake CONFIG=system_libav"
so you can test using a reference video, remove it's moov atom,
give it to untrunc with the original mdat offset, and it's easier
to compare
like on mp4 generated on nexus 5

sample are grouped in consecutive chunk
saveSampleToChunk depends on saveChunkOffsets analysis now, switching order
only saves a stts entry when a entry different than the previous one
1st entry for time could be larger than the other ones
only copy the 2nd entry works better
@ponchio
Copy link
Owner

ponchio commented May 17, 2016

Ciao, nice work. I will integrate them as soon as I can :)

Federico

Hi Federico,

I worked a little to make untrunc work on a mp4 that my nexus 5 recorded.

It actually didn't work because of the SHANE fix that I still had...
Anyway, I made a fix dev, which might be interesting :

  • update untrunc.pro to use pkgconfig or static lib depending on flag
  • allow to save a file with a given mdat atom position : this allow to
    compare a file processed with untrunc with the original file more easily
  • last chunk was not well processed
  • fix for file more than 2GB (but lower than 4GB...)
  • write a series of patch to make the data in stsz, stsc, stco, stts the
    same as generated by nexus. -> it groups consecutive chunk of data of the
    same track together. I'm not sure it's necessary though, it might make
    files smaller.
  • fix fixTimes. if reference file is shorter, we were copying the
    reference times several time. but the time duration on nexus is larger than
    the other ones, so it make the sound go faster... I just use the time
    duration of the 2nd chunk in loop

Hope you can have a look and most of them are mergeable

You can view, comment on, or merge this pull request online at:

#53
Commit Summary

  • build: system_libav flag (link with system libav)
  • saveVideo with mdat offset
  • detect last chunk of data
  • untrunc: update makefile (qmake-qt4 on fedora 23)
  • support for files > 2GB and < 4GB
  • track: remove verbose
  • enhanced chunk analysis
  • saveSampleTimes: enhanced stts reconstruction
  • fixTimes: use only 2nd time entry
  • track: write each nal separately in stsz

File Changes

Patch Links:


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
#53

@fredericgermain fredericgermain changed the title Master nexus Master nexus 5 May 17, 2016
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

Successfully merging this pull request may close these issues.

None yet

2 participants