recording was fucked up. FIX!
mainly in RecordingFrame
This commit is contained in:
@@ -147,8 +147,8 @@ public class RecordingFrame extends JInternalFrame {
|
|||||||
sample.getWidth(),
|
sample.getWidth(),
|
||||||
sample.getHeight(),
|
sample.getHeight(),
|
||||||
20, // Frame Rate
|
20, // Frame Rate
|
||||||
25, // CRF (Quality)
|
18, // CRF (Quality)
|
||||||
"ultrafast"
|
"superfast"
|
||||||
);
|
);
|
||||||
|
|
||||||
// 2. Initialize the HA Recorder
|
// 2. Initialize the HA Recorder
|
||||||
|
|||||||
@@ -15,13 +15,14 @@ public class FrameProccessor {
|
|||||||
reuseImg = new BufferedImage(
|
reuseImg = new BufferedImage(
|
||||||
rawImg.getWidth(),
|
rawImg.getWidth(),
|
||||||
rawImg.getHeight(),
|
rawImg.getHeight(),
|
||||||
BufferedImage.TYPE_3BYTE_BGR // default java BufferedImage Type
|
BufferedImage.TYPE_3BYTE_BGR
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
var g = reuseImg.createGraphics();
|
var g = reuseImg.createGraphics();
|
||||||
g.drawImage(rawImg, 0, 0, null);
|
g.drawImage(rawImg, 0, 0, null);
|
||||||
g.dispose();
|
g.dispose();
|
||||||
}
|
|
||||||
return converter.getFrame(reuseImg);
|
return converter.getFrame(reuseImg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,9 +20,13 @@ public class MediaSink {
|
|||||||
recorder.setFormat("mp4");
|
recorder.setFormat("mp4");
|
||||||
recorder.setPixelFormat(avutil.AV_PIX_FMT_BGR24);
|
recorder.setPixelFormat(avutil.AV_PIX_FMT_BGR24);
|
||||||
recorder.setFrameRate(config.fps());
|
recorder.setFrameRate(config.fps());
|
||||||
|
/* this is essentially just building FFmpeg? Would've used ProccessBuilder for this lol */
|
||||||
recorder.setVideoOption("pixel_format", "yuv420p");
|
recorder.setVideoOption("pixel_format", "yuv420p");
|
||||||
recorder.setVideoOption("preset", config.preset());
|
recorder.setVideoOption("preset", config.preset());
|
||||||
recorder.setVideoOption("crf", String.valueOf(config.crf()));
|
recorder.setVideoOption("crf", String.valueOf(config.crf()));
|
||||||
|
recorder.setVideoOption("tune", "zerolatency");
|
||||||
|
recorder.setVideoOption("x264opts", "keyint=40:min-keyint=20");
|
||||||
|
recorder.setVideoBitrate(0); // 0 tells the recorder to respect CRF strictly
|
||||||
recorder.setGopSize(config.fps() * 2);
|
recorder.setGopSize(config.fps() * 2);
|
||||||
|
|
||||||
recorder.start();
|
recorder.start();
|
||||||
|
|||||||
Reference in New Issue
Block a user