public static void main(String[] args) throws IOException { String basePath = GetDuration.class.getProtectionDomain().getCodeSource().getLocation().getFile() + "/dash/"; Movie m = new Movie(); IsoFile baseIsoFile = new IsoFile(basePath + "redbull_100kbit_dash.mp4"); List<IsoFile> fragments = new LinkedList<IsoFile>(); for (int i = 1; i < 9; i++) { fragments.add(new IsoFile(basePath + "redbull_10sec" + i + ".m4s")); } m.addTrack(new Mp4TrackImpl(1, new IsoFile("redbull_100kbit_dash.mp4"), new FileRandomAccessSourceImpl(new RandomAccessFile("redbull_100kbit_dash.mp4", "r")), "test")); DefaultMp4Builder builder = new DefaultMp4Builder(); Container stdMp4 = builder.build(m); FileOutputStream fos = new FileOutputStream("out.mp4"); stdMp4.writeContainer(fos.getChannel()); fos.close(); } }
@Override public String getName() { return "enc(" + super.getName() + ")"; }
for (TrackFragmentBox traf : trafs) { if (traf.getTrackFragmentHeaderBox().getTrackId() == trackId) { sampleGroups = getSampleGroups( stbl.getBoxes(SampleGroupDescriptionBox.class), // global descriptions Path.<SampleGroupDescriptionBox>getPaths((Container) traf, "sgpd"), // local description for (TrackFragmentBox traf : movieFragmentBox.getBoxes(TrackFragmentBox.class)) { if (traf.getTrackFragmentHeaderBox().getTrackId() == trackId) { sampleGroups = getSampleGroups( stbl.getBoxes(SampleGroupDescriptionBox.class), Path.<SampleGroupDescriptionBox>getPaths((Container) traf, "sgpd"), sampleGroups = getSampleGroups(stbl.getBoxes(SampleGroupDescriptionBox.class), null, stbl.getBoxes(SampleToGroupBox.class), sampleGroups, 0);
for (TrackFragmentBox traf : trafs) { if (traf.getTrackFragmentHeaderBox().getTrackId() == trackId) { sampleGroups = getSampleGroups( stbl.getBoxes(SampleGroupDescriptionBox.class), // global descriptions Path.<SampleGroupDescriptionBox>getPaths((Container) traf, "sgpd"), // local description for (TrackFragmentBox traf : movieFragmentBox.getBoxes(TrackFragmentBox.class)) { if (traf.getTrackFragmentHeaderBox().getTrackId() == trackId) { sampleGroups = getSampleGroups( stbl.getBoxes(SampleGroupDescriptionBox.class), Path.<SampleGroupDescriptionBox>getPaths((Container) traf, "sgpd"), sampleGroups = getSampleGroups(stbl.getBoxes(SampleGroupDescriptionBox.class), null, stbl.getBoxes(SampleToGroupBox.class), sampleGroups, 0);
randomAccessSource, name + "[" + trackBox.getTrackHeaderBox().getTrackId() + "]")); } else { m.addTrack(new Mp4TrackImpl( trackBox.getTrackHeaderBox().getTrackId(), isoFile, randomAccessSource, name + "[" + trackBox.getTrackHeaderBox().getTrackId() + "]"));
@Override public String getName() { return "enc(" + super.getName() + ")"; }
tracks.add(new Mp4TrackImpl(trackBox.getTrackHeaderBox().getTrackId(), isoFile, new FileRandomAccessSourceImpl(new RandomAccessFile(f, "r")), f.getName()));
@Override public String getName() { return "enc(" + super.getName() + ")"; }
randomAccessSource, name + "[" + trackBox.getTrackHeaderBox().getTrackId() + "]")); } else { m.addTrack(new Mp4TrackImpl( trackBox.getTrackHeaderBox().getTrackId(), isoFile, randomAccessSource, name + "[" + trackBox.getTrackHeaderBox().getTrackId() + "]"));
@Override public String getName() { return "enc(" + super.getName() + ")"; }