protected Box createMvhd() { MovieHeaderBox mvhd = new MovieHeaderBox(); mvhd.setVersion(1); mvhd.setCreationTime(creationTime); mvhd.setModificationTime(creationTime); mvhd.setDuration(0);//no duration in moov for fragmented movies long movieTimeScale = source.getTimescale(); mvhd.setTimescale(movieTimeScale); // find the next available trackId mvhd.setNextTrackId(2); return mvhd; }
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(); }
if (mHeader != null) { metadata.set(TikaCoreProperties.CREATED, mHeader.getCreationTime()); metadata.set(TikaCoreProperties.MODIFIED, mHeader.getModificationTime()); double durationSeconds = ((double) mHeader.getDuration()) / mHeader.getTimescale(); metadata.set(XMPDM.DURATION, DURATION_FORMAT.format(durationSeconds)); metadata.set(XMPDM.AUDIO_SAMPLE_RATE, (int) mHeader.getTimescale());
protected MovieBox createMovieBox(Mp4Movie movie) { MovieBox movieBox = new MovieBox(); MovieHeaderBox mvhd = new MovieHeaderBox(); mvhd.setCreationTime(new Date()); mvhd.setModificationTime(new Date()); mvhd.setMatrix(Matrix.ROTATE_0); long movieTimeScale = getTimescale(movie); long duration = 0; for (Track track : movie.getTracks()) { long tracksDuration = track.getDuration() * movieTimeScale / track.getTimeScale(); if (tracksDuration > duration) { duration = tracksDuration; } } mvhd.setDuration(duration); mvhd.setTimescale(movieTimeScale); mvhd.setNextTrackId(movie.getTracks().size() + 1); movieBox.addBox(mvhd); for (Track track : movie.getTracks()) { movieBox.addBox(createTrackBox(track, movie)); } return movieBox; }
private MovieBox createMovieBox(Movie movie) { MovieBox movieBox = new MovieBox(); MovieHeaderBox mvhd = new MovieHeaderBox(); mvhd.setCreationTime(new Date()); mvhd.setModificationTime(new Date()); mvhd.setDuration(duration); mvhd.setTimescale(movieTimeScale); nextTrackId = nextTrackId < track.getTrackMetaData().getTrackId() ? track.getTrackMetaData().getTrackId() : nextTrackId; mvhd.setNextTrackId(++nextTrackId); if (DateHelper.convert(mvhd.getCreationTime()) >= 1l << 32 || DateHelper.convert(mvhd.getModificationTime()) >= 1l << 32 || mvhd.getDuration() >= 1l << 32) { mvhd.setVersion(1);
meta.setDuration(box.getMovieHeaderBox().getDuration() / box.getMovieHeaderBox().getTimescale()); meta.setFrameRate(box.getMovieHeaderBox().getRate());
if (elst != null) { for (EditListBox.Entry e : elst.getEntries()) { edits.add(new Edit(e.getMediaTime(), mdhd.getTimescale(), e.getMediaRate(), (double) e.getSegmentDuration() / mvhd.getTimescale()));
protected MovieBox createMovieBox(Mp4Movie movie) { MovieBox movieBox = new MovieBox(); MovieHeaderBox mvhd = new MovieHeaderBox(); mvhd.setCreationTime(new Date()); mvhd.setModificationTime(new Date()); mvhd.setMatrix(Matrix.ROTATE_0); long movieTimeScale = getTimescale(movie); long duration = 0; for (Track track : movie.getTracks()) { long tracksDuration = track.getDuration() * movieTimeScale / track.getTimeScale(); if (tracksDuration > duration) { duration = tracksDuration; } } mvhd.setDuration(duration); mvhd.setTimescale(movieTimeScale); mvhd.setNextTrackId(movie.getTracks().size() + 1); movieBox.addBox(mvhd); for (Track track : movie.getTracks()) { movieBox.addBox(createTrackBox(track, movie)); } return movieBox; }
private MovieBox createMovieBox(Movie movie) { MovieBox movieBox = new MovieBox(); MovieHeaderBox mvhd = new MovieHeaderBox(); mvhd.setCreationTime(new Date()); mvhd.setModificationTime(new Date()); mvhd.setDuration(duration); mvhd.setTimescale(movieTimeScale); nextTrackId = nextTrackId < track.getTrackMetaData().getTrackId() ? track.getTrackMetaData().getTrackId() : nextTrackId; mvhd.setNextTrackId(++nextTrackId); if (DateHelper.convert(mvhd.getCreationTime()) >= 1l << 32 || DateHelper.convert(mvhd.getModificationTime()) >= 1l << 32 || mvhd.getDuration() >= 1l << 32) { mvhd.setVersion(1);
if (mHeader != null) { metadata.set(Metadata.CREATION_DATE, mHeader.getCreationTime()); metadata.set(TikaCoreProperties.MODIFIED, mHeader.getModificationTime()); double durationSeconds = ((double) mHeader.getDuration()) / mHeader.getTimescale(); metadata.set(XMPDM.DURATION, DURATION_FORMAT.format(durationSeconds)); metadata.set(XMPDM.AUDIO_SAMPLE_RATE, (int) mHeader.getTimescale());
protected Box createMvhd() { MovieHeaderBox mvhd = new MovieHeaderBox(); mvhd.setVersion(1); mvhd.setCreationTime(creationTime); mvhd.setModificationTime(creationTime); mvhd.setDuration(0);//no duration in moov for fragmented movies long[] timescales = new long[0]; for (StreamingTrack streamingTrack : source) { Mp4Arrays.copyOfAndAppend(timescales, streamingTrack.getTimescale()); } mvhd.setTimescale(lcm(timescales)); // find the next available trackId mvhd.setNextTrackId(2); return mvhd; }
protected MovieBox createMovieBox(Mp4Movie movie) { MovieBox movieBox = new MovieBox(); MovieHeaderBox mvhd = new MovieHeaderBox(); mvhd.setCreationTime(new Date()); mvhd.setModificationTime(new Date()); mvhd.setMatrix(Matrix.ROTATE_0); long movieTimeScale = getTimescale(movie); long duration = 0; for (Track track : movie.getTracks()) { long tracksDuration = track.getDuration() * movieTimeScale / track.getTimeScale(); if (tracksDuration > duration) { duration = tracksDuration; } } mvhd.setDuration(duration); mvhd.setTimescale(movieTimeScale); mvhd.setNextTrackId(movie.getTracks().size() + 1); movieBox.addBox(mvhd); for (Track track : movie.getTracks()) { movieBox.addBox(createTrackBox(track, movie)); } return movieBox; }
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(); }
if (mHeader != null) { metadata.set(Metadata.CREATION_DATE, mHeader.getCreationTime()); metadata.set(TikaCoreProperties.MODIFIED, mHeader.getModificationTime()); double durationSeconds = ((double) mHeader.getDuration()) / mHeader.getTimescale(); metadata.set(XMPDM.DURATION, DURATION_FORMAT.format(durationSeconds)); metadata.set(XMPDM.AUDIO_SAMPLE_RATE, (int) mHeader.getTimescale());
/** * Creates a single 'mvhd' movie header box for a given movie. * * @param movie the concerned movie * @return an 'mvhd' box */ protected Box createMvhd(Movie movie) { MovieHeaderBox mvhd = new MovieHeaderBox(); mvhd.setVersion(1); mvhd.setCreationTime(getDate()); mvhd.setModificationTime(getDate()); mvhd.setDuration(0);//no duration in moov for fragmented movies long movieTimeScale = movie.getTimescale(); mvhd.setTimescale(movieTimeScale); // find the next available trackId long nextTrackId = 0; for (Track track : movie.getTracks()) { nextTrackId = nextTrackId < track.getTrackMetaData().getTrackId() ? track.getTrackMetaData().getTrackId() : nextTrackId; } mvhd.setNextTrackId(++nextTrackId); return mvhd; }
protected MovieBox createMovieBox(Movie movie, Map<Track, int[]> chunks) { MovieBox movieBox = new MovieBox(); MovieHeaderBox mvhd = new MovieHeaderBox(); mvhd.setCreationTime(new Date()); mvhd.setModificationTime(new Date()); mvhd.setMatrix(movie.getMatrix()); long movieTimeScale = getTimescale(movie); long duration = 0; mvhd.setDuration(duration); mvhd.setTimescale(movieTimeScale); nextTrackId = nextTrackId < track.getTrackMetaData().getTrackId() ? track.getTrackMetaData().getTrackId() : nextTrackId; mvhd.setNextTrackId(++nextTrackId);
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(); }
/** * Creates a single 'mvhd' movie header box for a given movie. * * @param movie the concerned movie * @return an 'mvhd' box */ protected Box createMvhd(Movie movie) { MovieHeaderBox mvhd = new MovieHeaderBox(); mvhd.setVersion(1); mvhd.setCreationTime(new Date()); mvhd.setModificationTime(new Date()); long movieTimeScale = movie.getTimescale(); long duration = 0; for (Track track : movie.getTracks()) { long tracksDuration = getDuration(track) * movieTimeScale / track.getTrackMetaData().getTimescale(); if (tracksDuration > duration) { duration = tracksDuration; } } mvhd.setDuration(duration); mvhd.setTimescale(movieTimeScale); // find the next available trackId long nextTrackId = 0; for (Track track : movie.getTracks()) { nextTrackId = nextTrackId < track.getTrackMetaData().getTrackId() ? track.getTrackMetaData().getTrackId() : nextTrackId; } mvhd.setNextTrackId(++nextTrackId); return mvhd; }
/** * Creates a single 'mvhd' movie header box for a given movie. * * @param movie the concerned movie * @return an 'mvhd' box */ protected Box createMvhd(Movie movie) { MovieHeaderBox mvhd = new MovieHeaderBox(); mvhd.setVersion(1); mvhd.setCreationTime(new Date()); mvhd.setModificationTime(new Date()); long movieTimeScale = movie.getTimescale(); long duration = 0; for (Track track : movie.getTracks()) { long tracksDuration = getDuration(track) * movieTimeScale / track.getTrackMetaData().getTimescale(); if (tracksDuration > duration) { duration = tracksDuration; } } mvhd.setDuration(duration); mvhd.setTimescale(movieTimeScale); // find the next available trackId long nextTrackId = 0; for (Track track : movie.getTracks()) { nextTrackId = nextTrackId < track.getTrackMetaData().getTrackId() ? track.getTrackMetaData().getTrackId() : nextTrackId; } mvhd.setNextTrackId(++nextTrackId); return mvhd; }