stabilisation #2

Merged
rattatwinko merged 10 commits from stabilisation into main 2026-02-19 14:14:22 +00:00
3 changed files with 12 additions and 7 deletions
Showing only changes of commit 8239b910fe - Show all commits

View File

@@ -147,8 +147,8 @@ public class RecordingFrame extends JInternalFrame {
sample.getWidth(),
sample.getHeight(),
20, // Frame Rate
25, // CRF (Quality)
"ultrafast"
18, // CRF (Quality)
"superfast"
);
// 2. Initialize the HA Recorder

View File

@@ -15,13 +15,14 @@ public class FrameProccessor {
reuseImg = new BufferedImage(
rawImg.getWidth(),
rawImg.getHeight(),
BufferedImage.TYPE_3BYTE_BGR // default java BufferedImage Type
BufferedImage.TYPE_3BYTE_BGR
);
var g = reuseImg.createGraphics();
g.drawImage(rawImg, 0, 0, null);
g.dispose();
}
var g = reuseImg.createGraphics();
g.drawImage(rawImg, 0, 0, null);
g.dispose();
return converter.getFrame(reuseImg);
}

View File

@@ -20,9 +20,13 @@ public class MediaSink {
recorder.setFormat("mp4");
recorder.setPixelFormat(avutil.AV_PIX_FMT_BGR24);
recorder.setFrameRate(config.fps());
/* this is essentially just building FFmpeg? Would've used ProccessBuilder for this lol */
recorder.setVideoOption("pixel_format", "yuv420p");
recorder.setVideoOption("preset", config.preset());
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.start();