I use MP4Parser: https://code.google.com/p/mp4parser/
if i want to merge two or more files then it takes a very long time.
- File 1 is 2:00 min
- File 2 is 3:00 min
- File 3 is 2:00 min
merge time: approximately 10 min.
in LogCat i see a lot of this:
GC_FOR_ALLOC freed 1668K, 11% free 14047K/15748K, paused 27ms, total 27ms
can anybody help me?
My code:
Movie[] inMovies = new Movie[count];
for (int i = 0; i < count; i++) {
inMovies[i] = MovieCreator.build(tempDirectory + "/"
+ i);
}
List<Track> audioTracks = new LinkedList<Track>();
for (Movie m : inMovies) {
for (Track t : m.getTracks()) {
if (t.getHandler().equals("soun")) {
audioTracks.add(t);
}
}
}
Movie result = new Movie();
if (audioTracks.size() > 0) {
result.addTrack(new AppendTrack(audioTracks
.toArray(new Track[audioTracks.size()])));
}
Container out = new DefaultMp4Builder().build(result);
FileChannel fc = new RandomAccessFile(
String.format(src), "rw").getChannel();
out.writeContainer(fc);
fc.close();