node-mac-recorder 2.23.1 → 2.23.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/screen_capture_kit.mm +17 -0
package/package.json
CHANGED
|
@@ -805,10 +805,21 @@ extern "C" NSString *ScreenCaptureKitCurrentAudioPath(void) {
|
|
|
805
805
|
AVVideoMaxKeyFrameIntervalDurationKey: @(1.0)
|
|
806
806
|
};
|
|
807
807
|
|
|
808
|
+
// Renk etiketleri: kayıt sRGB uzayında yakalanıyor (streamConfig.colorSpaceName),
|
|
809
|
+
// BT.709 olarak etiketle ki Chromium/QuickTime decode'da doğru yorumlasın.
|
|
810
|
+
// Etiket olmadan player'lar tahmin yürütüyor ve renkler soluk/kaymış görünüyordu.
|
|
811
|
+
// Bitrate/boyut maliyeti sıfırdır.
|
|
812
|
+
NSDictionary *colorProps = @{
|
|
813
|
+
AVVideoColorPrimariesKey: AVVideoColorPrimaries_ITU_R_709_2,
|
|
814
|
+
AVVideoTransferFunctionKey: AVVideoTransferFunction_ITU_R_709_2,
|
|
815
|
+
AVVideoYCbCrMatrixKey: AVVideoYCbCrMatrix_ITU_R_709_2
|
|
816
|
+
};
|
|
817
|
+
|
|
808
818
|
NSDictionary *videoSettings = @{
|
|
809
819
|
AVVideoCodecKey: AVVideoCodecTypeH264,
|
|
810
820
|
AVVideoWidthKey: @(width),
|
|
811
821
|
AVVideoHeightKey: @(height),
|
|
822
|
+
AVVideoColorPropertiesKey: colorProps,
|
|
812
823
|
AVVideoCompressionPropertiesKey: compressionProps
|
|
813
824
|
};
|
|
814
825
|
|
|
@@ -1534,6 +1545,12 @@ static void SCKPerformRecordingSetup(NSDictionary *config, SCShareableContent *c
|
|
|
1534
1545
|
streamConfig.shouldBeOpaque = YES;
|
|
1535
1546
|
MRLog(@"🎯 Using SCCaptureResolutionBest + shouldBeOpaque for maximum quality (macOS 14+)");
|
|
1536
1547
|
}
|
|
1548
|
+
if (@available(macOS 13.0, *)) {
|
|
1549
|
+
// Frame'leri bilinen bir renk uzayında (sRGB) iste; encoder tarafında
|
|
1550
|
+
// BT.709 etiketiyle birlikte uçtan uca tutarlı renk sağlar.
|
|
1551
|
+
// Aksi halde P3 ekranlarda display-native, etiketsiz piksel gelir.
|
|
1552
|
+
streamConfig.colorSpaceName = kCGColorSpaceSRGB;
|
|
1553
|
+
}
|
|
1537
1554
|
|
|
1538
1555
|
BOOL shouldCaptureMic = includeMicrophone ? [includeMicrophone boolValue] : NO;
|
|
1539
1556
|
BOOL shouldCaptureSystemAudio = includeSystemAudio ? [includeSystemAudio boolValue] : NO;
|