1

I want to merge some video files using mp4parser, in which any one of them may not have audio track. Currently, if i merge these files, audio is moving into another segment, which is wrong. This is how, i am merging files

LinkedList<Track> videoTracks = new LinkedList<>();
LinkedList<Track> audioTracks = new LinkedList<>();

for (Movie m : inMovies) {
    for (Track t : m.getTracks()) {
        if (t.getHandler().equals("soun")) {
            audioTracks.add(t);
        }
        if (t.getHandler().equals("vide")) {
            videoTracks.add(t);
        }
    }
}

Movie result = new Movie();
if (audioTracks.size() > 0) {
    result.addTrack(new AppendTrack(audioTracks.toArray(new Track[audioTracks.size()])));
}
if (videoTracks.size() > 0) {
    result.addTrack(new AppendTrack(videoTracks.toArray(new Track[videoTracks.size()])));
}

Video file that does not have audio, will not go inside if (t.getHandler().equals("soun"))

I have also opened an issue in mp4parser lib: https://github.com/sannies/mp4parser/issues/296

Manish Kumar
  • 1,095
  • 9
  • 19

0 Answers0