godghdai / mp4parser Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/mp4parser
Automatically exported from code.google.com/p/mp4parser
First: tank you for this contribution.
May I suggest avoiding long to int conversions, it blocks access to files
larger than 2Gb.
i.e. in
- com.coremedia.iso.BoxFactory.parseBox()
- com.coremedia.iso.IsoInputStream.skip()
Best regards
Original issue reported on code.google.com by [email protected]
on 19 Aug 2010 at 10:52
What steps will reproduce the problem?
1. svn checkout http://mp4parser.googlecode.com/svn/trunk/ mp4parser
2. cd mp4parser
3. mvn compile
Expected output:
It should compile without errors.
Actual output:
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
Missing:
----------
1) com.googlecode.mp4parser:isoparser:jar:1.0-alpha-2-SNAPSHOT
...
---------------------------------------------------------------
I hope this is a right way to report a problem.
Thanks a lot,
--Sergey
Original issue reported on code.google.com by [email protected]
on 22 Apr 2011 at 3:19
I noticed that writing a value "9" to a AppleMediaTypeBox, always results in
"0" getting written. I've tracted this now to the what I think is a problem in
AbstractAppleMetaDataBox.setValue(). If the section where
appleDataBox.getFlags() == 2, it writes the correct content to a
ByteArrayOutputStream(). However it never writes the contents of this to the
box.
If I change line 109 from:
appleDataBox.setContent(content);
to:
appleDataBox.setContent(baos.toByteArray());
it fixes the problem for me. I've attached a patch to this issue.
I'm using the latest SVN checkout (at the time of creating this issue).
Original issue reported on code.google.com by [email protected]
on 5 May 2011 at 8:26
Attachments:
What steps will reproduce the problem?
1.Open the attached file foo1.mp4 and examing box "stco". It shows the size =
16.
2.Open the second attached file foo1.mp4 and examine box "fooo". It shows size
= 32.
The two files are identical except the tag of a box. The tag is "stco" for the
first file and "fooo" for the second file.
The expected size is 32 for the box.
Original issue reported on code.google.com by [email protected]
on 24 Jun 2011 at 4:58
Attachments:
Just show bitrates on some panel
Original issue reported on code.google.com by Sebastian.Annies
on 24 Jun 2011 at 4:20
Hi,
Mp4parser, with a friendly Apache 2.0 license, can provide a way for
interacting with the developers and other users.
Will it be possible to create a google group for the same?
If there is one, can it be listed in the project front page.
Thanks
George L
Original issue reported on code.google.com by [email protected]
on 22 May 2011 at 4:08
I am trying to solve the problem with MP4 streaming. FFPMEG place Moov atom
header to the end of MP4 which prevents proper streaming in FLASH.
I used trunk version of mp4parser:
IsoBufferWrapper isoBufferWrapper = new IsoBufferWrapper(new
File("C:/test.mp4"));
IsoFile isoFile = new IsoFile(isoBufferWrapper);
isoFile.parse();
isoFile.parseMdats();
Box[] boxes = isoFile.getBoxes();
IsoFileConvenienceHelper.switchToAutomaticChunkOffsetBox(isoFile);
//moving MOOV header to front
Box[] fixed = new Box[]{boxes[0], boxes[3], boxes[2], boxes[1]};
//no direct api to change the order of boxes in isoFile
Field field = isoFile.getClass().getDeclaredField("boxes");
field.setAccessible(true);
field.set(isoFile, fixed);
IsoOutputStream isos = new IsoOutputStream(new FileOutputStream(new
File("c:/testFixed.mp4")));
isoFile.getBox(isos);
So i have used reflection to change boxes array in IsoFile. Without that i will
get incorrect offset because boxes in isoFile will use old offsets when writing
to file.
P.S May you please release trunk 1.0-alpha-2-SNAPSHOT as artifact to maven ?
Original issue reported on code.google.com by [email protected]
on 13 Jan 2011 at 7:46
they have to be
* cut (display first 100) or
* some paging is need
* but nevertheless I'd like to be able to get into a spread sheet application
Original issue reported on code.google.com by Sebastian.Annies
on 24 Jun 2011 at 4:33
When using a UserBox to add a "uuid" box field to a media file, there's no way
to set the content. I've attached a patch to add a getter and setter.
Original issue reported on code.google.com by [email protected]
on 3 Feb 2011 at 4:50
Attachments:
The apple metadata boxes use a type with a copyright char in the first column.
This is not getting routed correctly in the lookup. I don't know if this is the
right fix but the change I made in the fork on github (see below) causes the
correct lookup as confirmed by checking the metadata boxes in the viewer for
the test-pod.m4a file.
see
https://github.com/gabe97330/mp4parser-fork/commit/4949c477660886702e2706bd5e6b6
4eb82786ea4
Original issue reported on code.google.com by [email protected]
on 17 Apr 2011 at 6:49
mp4parser has dependencies on certain Java classes, first of all
java.nio.MappedByteBuffer, which are ** not ** allowed by the Google AppEngine
runtime (see http://code.google.com/appengine/docs/java/jrewhitelist.html).
Google AppEngine throws an exception e.g "java.lang.NoClassDefFoundError:
java.nio.MappedByteBuffer is a restricted class. Please see the Google App
Engine developer's guide for more details." is thrown for the unsupported
class(es).
- Would it be possible to remove the dependency by mp4parser on these Java
classes, so as to enable the library to work within Google AppEngine?
Original issue reported on code.google.com by [email protected]
on 22 Jun 2011 at 8:11
There are several problems with handling of enhanced podcast files. The
problems are encountered with even very simple examples. I have forked the
mp4parser project at Github (https://github.com/gabe97330/mp4parser-fork) and
made some changes that seem to address at least some of the problems but its
still not totally right.
You can find a test file at
https://github.com/gabe97330/mp4parser-fork/blob/master/isoparser/src/test/resou
rces/test-pod.m4a which will cause the viewer application to fail.
Original issue reported on code.google.com by [email protected]
on 16 Apr 2011 at 12:10
I've come across a problem using the ISOParser. I've encoded a DVD to a .m4v
file. I've done this using handbrake (http://handbrake.fr/) with the "AppleTV
2" preset. So it has two audio tracks one of them a AC3 copy of the DVD's
audio. I've also added in chapter information. The ripped DVD file at this
point is working fine and has full chapter information.
Now I attempt to parse it with the ISOParser so I can update it with iTunes
metadata. However I get lots of parsing errors from
SampleDependecType.getSampleCount(), which is unable to find the Sample size
box.
It prints the message "Couldn't find Track Run Box. Trying to determine sample
count by looking up Sample Size Boxes".
I'm running the SVN version (revision 145).
Any help with this would be much appreciated, let me know if their is anything
I can do to help.
Original issue reported on code.google.com by [email protected]
on 30 May 2011 at 4:55
getLength is only used for a single plausibility check while parsing. I think I
should drop it to be able to read an MP4 without knowing its length
Original issue reported on code.google.com by Sebastian.Annies
on 27 Sep 2010 at 5:37
What steps will reproduce the problem?
1. From isoviewer, try to open a media file that has a user box (type "uuid").
In particular, I'm trying to add UITS tags.
What is the expected output? What do you see instead?
PropertyBoxParserImpl prints this stack trace:
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException:
java.lang.NoSuchMethodException: com.coremedia.iso.boxes.UserBox.<init>(null)
at com.coremedia.iso.PropertyBoxParserImpl.createBox(PropertyBoxParserImpl.java:95)
at com.coremedia.iso.AbstractBoxParser.parseBox(AbstractBoxParser.java:62)
at com.coremedia.iso.AbstractBoxParser.parseBox(AbstractBoxParser.java:1)
at com.coremedia.iso.IsoFile.parse(IsoFile.java:92)
at com.coremedia.iso.gui.IsoViewerFrame.open(IsoViewerFrame.java:174)
at com.coremedia.iso.gui.IsoViewerFrame$3.actionPerformed(IsoViewerFrame.java:143)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:389)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
at com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:137)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
at java.awt.Component.processMouseEvent(Component.java:6352)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6117)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
at java.awt.Container.dispatchEventImpl(Container.java:2129)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.NoSuchMethodException:
com.coremedia.iso.boxes.UserBox.<init>(null)
at java.lang.Class.getConstructor0(Class.java:2706)
at java.lang.Class.getConstructor(Class.java:1657)
at com.coremedia.iso.PropertyBoxParserImpl.createBox(PropertyBoxParserImpl.java:88)
... 33 more
What version of the product are you using? On what operating system?
I expect the file to be open successfully.
Please provide any additional information below.
I have attached a media file that repros this and a patch to fix it. It was
just a capitalization error in default.properties.
Original issue reported on code.google.com by [email protected]
on 3 Feb 2011 at 4:37
Attachments:
There is an error in a class on its package:
com.coremedia.iso.gui.GenericSamplePane line 50 The method
getSampleDescriptionBox() in the type TrackMetaData is not applicable for the
arguments (long).
Original issue reported on code.google.com by [email protected]
on 17 Jun 2010 at 1:28
* CompositionTimeToSampleBox
* SampleToChunkBoix
* TimeToSampleBox
Original issue reported on code.google.com by Sebastian.Annies
on 24 Jun 2011 at 4:31
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.