I want to hide the text on video (in java). I created video from images, and I got a video lossless format. Now, I want to get frame from this video. How can I do it?. This is code that I used:
public class SequenceMuxer {
private SeekableByteChannel ch;
private MuxerTrack outTrack;
private int frameNo;
private MP4Muxer muxer;
private Size size;
public SequenceMuxer(File out) throws IOException {
this.ch = NIOUtils.writableChannel(out);
// Muxer that will store the encoded frames
muxer = MP4Muxer.createMP4Muxer(ch, Brand.MP4);
}
public void encodeImage(File png) throws IOException {
if (size == null) {
BufferedImage read = ImageIO.read(png);
size = new Size(read.getWidth(), read.getHeight());
// Add video track to muxer
outTrack = muxer.addVideoTrack(Codec.PNG, VideoCodecMeta.createSimpleVideoCodecMeta(size, ColorSpace.RGB));
}
// Add packet to video track
outTrack.addFrame(MP4Packet.createMP4Packet(NIOUtils.fetchFromFile(png), frameNo, 25, 1, frameNo, FrameType.KEY, null,
frameNo, frameNo, 0));
frameNo++;
}
public void finish() throws IOException {
// Write MP4 header and finalize recording
muxer.finish();
NIOUtils.closeQuietly(ch);
}
}