public String toString() { StringBuilder result = new StringBuilder(); result.append("TrackHeaderBox["); result.append("creationTime=").append(getCreationTime()); result.append(";"); result.append("modificationTime=").append(getModificationTime()); result.append(";"); result.append("trackId=").append(getTrackId()); result.append(";"); result.append("duration=").append(getDuration()); result.append(";"); result.append("layer=").append(getLayer()); result.append(";"); result.append("alternateGroup=").append(getAlternateGroup()); result.append(";"); result.append("volume=").append(getVolume()); result.append(";"); result.append("matrix=").append(matrix); result.append(";"); result.append("width=").append(getWidth()); result.append(";"); result.append("height=").append(getHeight()); result.append("]"); return result.toString(); }
protected Box createTkhd(Movie movie, 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 tkhd.setDuration(0);//no duration in moov for fragmented movies 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; }
public AbstractStreamingTrack() { tkhd = new TrackHeaderBox(); tkhd.setTrackId(1); }
metadata.set(TikaCoreProperties.CREATED, header.getCreationTime()); metadata.set(TikaCoreProperties.MODIFIED, header.getModificationTime()); metadata.set(Metadata.IMAGE_WIDTH, (int) header.getWidth()); metadata.set(Metadata.IMAGE_LENGTH, (int) header.getHeight());
protected TrackBox createTrackBox(Track track, Mp4Movie movie) { TrackBox trackBox = new TrackBox(); TrackHeaderBox tkhd = new TrackHeaderBox(); tkhd.setEnabled(true); tkhd.setInMovie(true); tkhd.setInPreview(true); if (track.isAudio()) { tkhd.setMatrix(Matrix.ROTATE_0); } else { tkhd.setMatrix(movie.getMatrix()); tkhd.setAlternateGroup(0); tkhd.setCreationTime(track.getCreationTime()); tkhd.setDuration(track.getDuration() * getTimescale(movie) / track.getTimeScale()); tkhd.setHeight(track.getHeight()); tkhd.setWidth(track.getWidth()); tkhd.setLayer(0); tkhd.setModificationTime(new Date()); tkhd.setTrackId(track.getTrackId() + 1); tkhd.setVolume(track.getVolume());
TrackHeaderBox tkhd = new TrackHeaderBox(); int flags = 0; if (track.isEnabled()) { flags += 8; tkhd.setFlags(flags); tkhd.setAlternateGroup(track.getTrackMetaData().getGroup()); tkhd.setCreationTime(track.getTrackMetaData().getCreationTime()); tkhd.setDuration(getDuration(track) * getTimescale(movie) / track.getTrackMetaData().getTimescale()); tkhd.setHeight(track.getTrackMetaData().getHeight()); tkhd.setWidth(track.getTrackMetaData().getWidth()); tkhd.setLayer(track.getTrackMetaData().getLayer()); tkhd.setModificationTime(new Date()); tkhd.setTrackId(track.getTrackMetaData().getTrackId()); tkhd.setVolume(track.getTrackMetaData().getVolume()); tkhd.setMatrix(track.getTrackMetaData().getMatrix()); if (DateHelper.convert(tkhd.getCreationTime()) >= 1l << 32 || DateHelper.convert(tkhd.getModificationTime()) >= 1l << 32 || tkhd.getDuration() >= 1l << 32) { tkhd.setVersion(1);
public Mp4TrackImpl(TrackBox trackBox) { final long trackId = trackBox.getTrackHeaderBox().getTrackId(); samples = new SampleList(trackBox); SampleTableBox stbl = trackBox.getMediaBox().getMediaInformationBox().getSampleTableBox(); TrackHeaderBox tkhd = trackBox.getTrackHeaderBox(); setEnabled(tkhd.isEnabled()); setInMovie(tkhd.isInMovie()); setInPoster(tkhd.isInPoster()); setInPreview(tkhd.isInPreview()); trackMetaData.setTrackId(tkhd.getTrackId()); trackMetaData.setCreationTime(mdhd.getCreationTime()); trackMetaData.setLanguage(mdhd.getLanguage()); trackMetaData.setHeight(tkhd.getHeight()); trackMetaData.setWidth(tkhd.getWidth()); trackMetaData.setLayer(tkhd.getLayer()); trackMetaData.setMatrix(tkhd.getMatrix());
super(name); this.trackBox = trackBox; final long trackId = trackBox.getTrackHeaderBox().getTrackId(); samples = new SampleList(trackBox, fragments); SampleTableBox stbl = trackBox.getMediaBox().getMediaInformationBox().getSampleTableBox(); TrackHeaderBox tkhd = trackBox.getTrackHeaderBox(); trackMetaData.setTrackId(tkhd.getTrackId()); trackMetaData.setCreationTime(mdhd.getCreationTime()); trackMetaData.setLanguage(mdhd.getLanguage()); trackMetaData.setHeight(tkhd.getHeight()); trackMetaData.setWidth(tkhd.getWidth()); trackMetaData.setLayer(tkhd.getLayer()); trackMetaData.setMatrix(tkhd.getMatrix()); trackMetaData.setVolume(tkhd.getVolume()); EditListBox elst = Path.getPath(trackBox, "edts/elst"); MovieHeaderBox mvhd = Path.getPath(trackBox, "../mvhd");
double width = trackHeaderBox.getWidth(); double height = trackHeaderBox.getHeight(); DecimalFormat format = new DecimalFormat("#"); XposedUtils.log("Video resolution: " + format.format(width) + " x " + format.format(height) + " (w x h)"); Matrix currentMatrix = trackHeaderBox.getMatrix(); int rotation = getDegreesFromMatrix(currentMatrix); trackHeaderBox.setMatrix(matrix);
protected TrackBox createTrackBox(Track track, Mp4Movie movie) { TrackBox trackBox = new TrackBox(); TrackHeaderBox tkhd = new TrackHeaderBox(); tkhd.setEnabled(true); tkhd.setInMovie(true); tkhd.setInPreview(true); if (track.isAudio()) { tkhd.setMatrix(Matrix.ROTATE_0); } else { tkhd.setMatrix(movie.getMatrix()); tkhd.setAlternateGroup(0); tkhd.setCreationTime(track.getCreationTime()); tkhd.setDuration(track.getDuration() * getTimescale(movie) / track.getTimeScale()); tkhd.setHeight(track.getHeight()); tkhd.setWidth(track.getWidth()); tkhd.setLayer(0); tkhd.setModificationTime(new Date()); tkhd.setTrackId(track.getTrackId() + 1); tkhd.setVolume(track.getVolume());
TrackHeaderBox tkhd = new TrackHeaderBox(); int flags = 0; if (track.isEnabled()) { flags += 8; tkhd.setFlags(flags); tkhd.setAlternateGroup(track.getTrackMetaData().getGroup()); tkhd.setCreationTime(track.getTrackMetaData().getCreationTime()); tkhd.setDuration(getDuration(track) * getTimescale(movie) / track.getTrackMetaData().getTimescale()); tkhd.setHeight(track.getTrackMetaData().getHeight()); tkhd.setWidth(track.getTrackMetaData().getWidth()); tkhd.setLayer(track.getTrackMetaData().getLayer()); tkhd.setModificationTime(new Date()); tkhd.setTrackId(track.getTrackMetaData().getTrackId()); tkhd.setVolume(track.getTrackMetaData().getVolume()); tkhd.setMatrix(track.getTrackMetaData().getMatrix()); if (DateHelper.convert(tkhd.getCreationTime()) >= 1l << 32 || DateHelper.convert(tkhd.getModificationTime()) >= 1l << 32 || tkhd.getDuration() >= 1l << 32) { tkhd.setVersion(1);
public Mp4TrackImpl(TrackBox trackBox) { final long trackId = trackBox.getTrackHeaderBox().getTrackId(); samples = new SampleList(trackBox); SampleTableBox stbl = trackBox.getMediaBox().getMediaInformationBox().getSampleTableBox(); TrackHeaderBox tkhd = trackBox.getTrackHeaderBox(); setEnabled(tkhd.isEnabled()); setInMovie(tkhd.isInMovie()); setInPoster(tkhd.isInPoster()); setInPreview(tkhd.isInPreview()); trackMetaData.setTrackId(tkhd.getTrackId()); trackMetaData.setCreationTime(mdhd.getCreationTime()); trackMetaData.setLanguage(mdhd.getLanguage()); trackMetaData.setHeight(tkhd.getHeight()); trackMetaData.setWidth(tkhd.getWidth()); trackMetaData.setLayer(tkhd.getLayer()); trackMetaData.setMatrix(tkhd.getMatrix());
metadata.set(TikaCoreProperties.CREATED, header.getCreationTime()); metadata.set(TikaCoreProperties.MODIFIED, header.getModificationTime()); metadata.set(Metadata.IMAGE_WIDTH, (int) header.getWidth()); metadata.set(Metadata.IMAGE_LENGTH, (int) header.getHeight());
protected TrackBox createTrackBox(Track track, Mp4Movie movie) { TrackBox trackBox = new TrackBox(); TrackHeaderBox tkhd = new TrackHeaderBox(); tkhd.setEnabled(true); tkhd.setInMovie(true); tkhd.setInPreview(true); if (track.isAudio()) { tkhd.setMatrix(Matrix.ROTATE_0); } else { tkhd.setMatrix(movie.getMatrix()); tkhd.setAlternateGroup(0); tkhd.setCreationTime(track.getCreationTime()); tkhd.setDuration(track.getDuration() * getTimescale(movie) / track.getTimeScale()); tkhd.setHeight(track.getHeight()); tkhd.setWidth(track.getWidth()); tkhd.setLayer(0); tkhd.setModificationTime(new Date()); tkhd.setTrackId(track.getTrackId() + 1); tkhd.setVolume(track.getVolume());
protected Box createTkhd(Movie movie, Track track) { TrackHeaderBox tkhd = new TrackHeaderBox(); tkhd.setVersion(1); int flags = 0; if (track.isEnabled()) { flags += 8; tkhd.setFlags(flags); tkhd.setAlternateGroup(track.getTrackMetaData().getGroup()); tkhd.setCreationTime(track.getTrackMetaData().getCreationTime()); tkhd.setDuration(getTrackDuration(movie, track)); tkhd.setHeight(track.getTrackMetaData().getHeight()); tkhd.setWidth(track.getTrackMetaData().getWidth()); tkhd.setLayer(track.getTrackMetaData().getLayer()); tkhd.setModificationTime(new Date()); tkhd.setTrackId(track.getTrackMetaData().getTrackId()); tkhd.setVolume(track.getTrackMetaData().getVolume()); return tkhd;
public String toString() { StringBuilder result = new StringBuilder(); result.append("TrackHeaderBox["); result.append("creationTime=").append(getCreationTime()); result.append(";"); result.append("modificationTime=").append(getModificationTime()); result.append(";"); result.append("trackId=").append(getTrackId()); result.append(";"); result.append("duration=").append(getDuration()); result.append(";"); result.append("layer=").append(getLayer()); result.append(";"); result.append("alternateGroup=").append(getAlternateGroup()); result.append(";"); result.append("volume=").append(getVolume()); result.append(";"); result.append("matrix=").append(matrix); result.append(";"); result.append("width=").append(getWidth()); result.append(";"); result.append("height=").append(getHeight()); result.append("]"); return result.toString(); }
metadata.set(TikaCoreProperties.CREATED, header.getCreationTime()); metadata.set(TikaCoreProperties.MODIFIED, header.getModificationTime()); metadata.set(Metadata.IMAGE_WIDTH, (int) header.getWidth()); metadata.set(Metadata.IMAGE_LENGTH, (int) header.getHeight());
protected TrackBox createTrackBox(Track track, Movie movie, Map<Track, int[]> chunks) { TrackHeaderBox tkhd = new TrackHeaderBox(); tkhd.setEnabled(true); tkhd.setInMovie(true); tkhd.setMatrix(track.getTrackMetaData().getMatrix()); tkhd.setAlternateGroup(track.getTrackMetaData().getGroup()); tkhd.setCreationTime(track.getTrackMetaData().getCreationTime()); tkhd.setDuration(track.getDuration() * getTimescale(movie) / track.getTrackMetaData().getTimescale()); } else { long d = 0; d += (long) edit.getSegmentDuration(); tkhd.setDuration(d * track.getTrackMetaData().getTimescale()); tkhd.setHeight(track.getTrackMetaData().getHeight()); tkhd.setWidth(track.getTrackMetaData().getWidth()); tkhd.setLayer(track.getTrackMetaData().getLayer()); tkhd.setModificationTime(new Date()); tkhd.setTrackId(track.getTrackMetaData().getTrackId()); tkhd.setVolume(track.getTrackMetaData().getVolume());
protected Box createTkhd(Movie movie, Track track) { TrackHeaderBox tkhd = new TrackHeaderBox(); tkhd.setVersion(1); int flags = 0; if (track.isEnabled()) { flags += 8; tkhd.setFlags(flags); tkhd.setAlternateGroup(track.getTrackMetaData().getGroup()); tkhd.setCreationTime(track.getTrackMetaData().getCreationTime()); tkhd.setDuration(getTrackDuration(movie, track)); tkhd.setHeight(track.getTrackMetaData().getHeight()); tkhd.setWidth(track.getTrackMetaData().getWidth()); tkhd.setLayer(track.getTrackMetaData().getLayer()); tkhd.setModificationTime(new Date()); tkhd.setTrackId(track.getTrackMetaData().getTrackId()); tkhd.setVolume(track.getTrackMetaData().getVolume()); return tkhd;