private static void mux(FramesMP4MuxerTrack track, File f) throws IOException { MappedH264ES es = new MappedH264ES(NIOUtils.map(f)); ArrayList<ByteBuffer> spsList = new ArrayList<ByteBuffer>(); ArrayList<ByteBuffer> ppsList = new ArrayList<ByteBuffer>(); Packet frame = null; while ((frame = es.nextFrame()) != null) { ByteBuffer data = frame.getData(); H264Utils.wipePS(data, spsList, ppsList); H264Utils.encodeMOVPacket(data); MP4Packet pkt = new MP4Packet(new Packet(frame, data), frame.getPts(), 0); System.out.println(pkt.getFrameNo()); track.addFrame(pkt); } addSampleEntry(track, es.getSps(), es.getPps()); }