public String toString() { StringBuilder result = new StringBuilder(); result.append("MovieHeaderBox["); result.append("creationTime=").append(getCreationTime()); result.append(";"); result.append("modificationTime=").append(getModificationTime()); result.append(";"); result.append("timescale=").append(getTimescale()); result.append(";"); result.append("duration=").append(getDuration()); result.append(";"); result.append("rate=").append(getRate()); result.append(";"); result.append("volume=").append(getVolume()); result.append(";"); result.append("matrix=").append(matrix); result.append(";"); result.append("nextTrackId=").append(getNextTrackId()); result.append("]"); return result.toString(); }
public static void main(String[] args) throws IOException { String filename = GetDuration.class.getProtectionDomain().getCodeSource().getLocation().getFile() + "/count-video.mp4"; IsoFile isoFile = new IsoFile(filename); double lengthInSeconds = (double) isoFile.getMovieBox().getMovieHeaderBox().getDuration() / isoFile.getMovieBox().getMovieHeaderBox().getTimescale(); System.err.println(lengthInSeconds); }
assert mvhd != null; for (EditListBox.Entry e : elst.getEntries()) { edits.add(new Edit(e.getMediaTime(), mdhd.getTimescale(), e.getMediaRate(), (double) e.getSegmentDuration() / mvhd.getTimescale()));
public String toString() { StringBuilder result = new StringBuilder(); result.append("MovieHeaderBox["); result.append("creationTime=").append(getCreationTime()); result.append(";"); result.append("modificationTime=").append(getModificationTime()); result.append(";"); result.append("timescale=").append(getTimescale()); result.append(";"); result.append("duration=").append(getDuration()); result.append(";"); result.append("rate=").append(getRate()); result.append(";"); result.append("volume=").append(getVolume()); result.append(";"); result.append("matrix=").append(matrix); result.append(";"); result.append("nextTrackId=").append(getNextTrackId()); result.append("]"); return result.toString(); }
timeScale = mvhd.getTimescale(); duration = mvhd.getDuration(); log.debug("Time scale {} Duration {}", timeScale, duration);
timeScale = mvhd.getTimescale(); duration = mvhd.getDuration(); log.debug("Time scale {} Duration {}", timeScale, duration);
timeScale = mvhd.getTimescale(); duration = mvhd.getDuration(); log.debug("Time scale {} Duration {}", timeScale, duration);
timeScale = mvhd.getTimescale(); duration = mvhd.getDuration(); log.debug("Time scale {} Duration {}", timeScale, duration);
editStartTime -= (double) edit.getSegmentDuration() / mvhd.getTimescale(); } else /* if edit.getMediaTime() >= 0 */ { assert mdhd != null;
public static void addSegmentBase(RepresentationBuilderImpl rb, RepresentationType representationType) { SegmentBaseType segBaseType = new SegmentBaseType(); representationType.setSegmentBase(segBaseType); segBaseType.setTimescale(((MovieHeaderBox) Path.getPath(rb.getInitSegment(), "moov[0]/mvhd[0]")).getTimescale()); segBaseType.setIndexRangeExact(true); long initSize = 0; for (Box b : rb.getInitSegment().getBoxes()) { initSize += b.getSize(); } long indexSize = 0; for (Box b : rb.getIndexSegment().getBoxes()) { indexSize += b.getSize(); } segBaseType.setIndexRange(String.format("%s-%s", initSize, initSize + indexSize - 1)); URLType initialization = new URLType(); segBaseType.setInitElement(initialization); initialization.setRange(String.format("0-%s", initSize - 1)); }
assert mvhd != null; for (EditListBox.Entry e : elst.getEntries()) { edits.add(new Edit(e.getMediaTime(), mdhd.getTimescale(), e.getMediaRate(), (double) e.getSegmentDuration() / mvhd.getTimescale()));