package com.googlecode.mp4parser;
import org.mp4parser.Container;
import org.mp4parser.muxer.Movie;
import org.mp4parser.muxer.Track;
import org.mp4parser.muxer.WrappingTrack;
import org.mp4parser.muxer.builder.DefaultMp4Builder;
import org.mp4parser.muxer.container.mp4.MovieCreator;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* Created by sannies on 30.11.2014.
*/
public class MakeTrackLonger {
public static void main(String[] args) throws IOException {
Movie movieIn = MovieCreator.build(GetDuration.class.getProtectionDomain().getCodeSource().getLocation().getFile() + "/1365070268951.mp4");
Movie movieOut = new Movie();
for (Track track : movieIn.getTracks()) {
if ("vide".equals(track.getHandler())) {
movieOut.addTrack(new WrappingTrack(track) {
@Override
public long[] getSampleDurations() {
long[] l = super.getSampleDurations();
l[0] *= 10;
l[l.length-1] *= 10;
return l;
}
});
} else {
movieOut.addTrack(track);
}
}
DefaultMp4Builder defaultMp4Builder = new DefaultMp4Builder();
Container mOut = defaultMp4Builder.build(movieOut);
mOut.writeContainer(new FileOutputStream("default.mp4").getChannel());
}
}