public long getDuration() { return source.getDuration(); }
public long getDuration() { return parent.getDuration(); }
public long getDuration() { return source.getDuration() * timeScaleFactor; }
public static void main(String[] args) throws IOException { Movie m = MovieCreator.build("c:\\content\\big_buck_bunny_1080p_h264-2min-handbraked.mp4"); double movieDuration = 0; for (Track track : m.getTracks()) { movieDuration = Math.max((double) track.getDuration() / track.getTrackMetaData().getTimescale(), movieDuration); } // We got the full duration in seconds System.err.println("Bitrate in bit/s: " + (new File("c:\\content\\big_buck_bunny_1080p_h264-2min-handbraked.mp4").length() * 8 /movieDuration)); } }
private static long getTrackDuration(Movie movie, Track track) { return (track.getDuration() * movie.getTimescale()) / track.getTrackMetaData().getTimescale(); }
double endTime = (double) tracks.get(0).getDuration() / tracks.get(0).getTrackMetaData().getTimescale();
tracksDuration = (track.getDuration() * movieTimeScale / track.getTrackMetaData().getTimescale()); } else { double d = 0;
tkhd.setDuration(track.getDuration() * getTimescale(movie) / track.getTrackMetaData().getTimescale()); } else { long d = 0; MediaHeaderBox mdhd = new MediaHeaderBox(); mdhd.setCreationTime(track.getTrackMetaData().getCreationTime()); mdhd.setDuration(track.getDuration()); mdhd.setTimescale(track.getTrackMetaData().getTimescale()); mdhd.setLanguage(track.getTrackMetaData().getLanguage());
public long getDuration() { return source.getDuration(); }
public long getDuration() { return parent.getDuration(); }
public long getDuration() { return source.getDuration() * timeScaleFactor; }
public static long getBandwidth(Track track) { long size = 0; List<Sample> samples = track.getSamples(); int increment = samples.size() / Math.min(samples.size(), 10000); int sampleSize = 1; // start with one so that we never get into a divided by zero situation for (int i = 0; i < (samples.size() - increment); i += increment) { size += samples.get(i).getSize(); sampleSize++; } size = (size / sampleSize) * track.getSamples().size(); double duration = (double) track.getDuration() / track.getTrackMetaData().getTimescale(); return (long) ((size * 8 / duration / 100)) * 100; }
private static long getTrackDuration(Movie movie, Track track) { return (track.getDuration() * movie.getTimescale()) / track.getTrackMetaData().getTimescale(); }
protected Box createMvex() { MovieExtendsBox mvex = new MovieExtendsBox(); final MovieExtendsHeaderBox mved = new MovieExtendsHeaderBox(); mved.setVersion(1); mved.setFragmentDuration(theTrack.getDuration()); mvex.addBox(mved); mvex.addBox(createTrex(theTrack)); return mvex; }
ManifestCreation.updateDuration(periodType, (double) t.getDuration() / t.getTrackMetaData().getTimescale()); ManifestCreation.addSegmentBase(rb, representationType); totalSize += RepresentationBuilderToFile.writeOnDemand( ManifestCreation.updateDuration(periodType, (double) t.getDuration() / t.getTrackMetaData().getTimescale()); ManifestCreation.addSegmentBase(rb, representationType); totalSize += RepresentationBuilderToFile.writeOnDemand(
long videoHeight = (long) t.getTrackMetaData().getHeight(); long videoWidth = (long) t.getTrackMetaData().getWidth(); double framesPerSecond = (double) (t.getSamples().size() * t.getTrackMetaData().getTimescale()) / t.getDuration();
tracksDuration = (track.getDuration() * movieTimeScale / track.getTrackMetaData().getTimescale()); } else { double d = 0;
tkhd.setDuration(track.getDuration() * getTimescale(movie) / track.getTrackMetaData().getTimescale()); } else { long d = 0; MediaHeaderBox mdhd = new MediaHeaderBox(); mdhd.setCreationTime(track.getTrackMetaData().getCreationTime()); mdhd.setDuration(track.getDuration()); mdhd.setTimescale(track.getTrackMetaData().getTimescale()); mdhd.setLanguage(track.getTrackMetaData().getLanguage());
protected Box createTkhd(Track track) { TrackHeaderBox tkhd = new TrackHeaderBox(); tkhd.setVersion(1); tkhd.setFlags(7); // enabled, in movie, in previe, in poster tkhd.setAlternateGroup(track.getTrackMetaData().getGroup()); tkhd.setCreationTime(track.getTrackMetaData().getCreationTime()); // We need to take edit list box into account in trackheader duration // but as long as I don't support edit list boxes it is sufficient to // just translate media duration to movie timescale if (track.getEdits().isEmpty()) { tkhd.setDuration(track.getDuration()); } else { long dur = 0; for (Edit edit : track.getEdits()) { dur += edit.getMediaTime() != -1 ? edit.getSegmentDuration() * track.getTrackMetaData().getTimescale() : 0; } tkhd.setDuration(dur); } tkhd.setHeight(track.getTrackMetaData().getHeight()); tkhd.setWidth(track.getTrackMetaData().getWidth()); tkhd.setLayer(track.getTrackMetaData().getLayer()); tkhd.setModificationTime(getDate()); tkhd.setTrackId(track.getTrackMetaData().getTrackId()); tkhd.setVolume(track.getTrackMetaData().getVolume()); return tkhd; }