LZAA
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Большое спасибо за помощь! Код: self.sct = mss() self.vid = cv2.VideoWriter( 'output.mkv', cv2.VideoWriter_fourcc(*'XVID'), fps=fps, frameSize=( self.monitor['width'], self.monitor['height'] ) ) self.vid.set(cv2.VIDEOWRITER_PROP_QUALITY, 95) | Это работает. С количеством процентов я ещё поэкспериментирую. Например, 'FFmpeg' применяет 'crf'('Constant Rate Factor') таким образом: ,,The range of the quantizer scale is 0-51: where 0 is lossless (for 8 bit only, for 10 bit use -qp 0), 23 is default, and 51 is worst possible. Consider 17 or 18 to be visually lossless". crf=17-23=33-45% от 51 Я не знаю какая логика у шкалы качества '0..100%' VIDEOWRITER, но это можно установить опытным путём и сопоставить размер сохранённого 'output' с тем, что выдаёт FFmpeg по-умолчанию. Про 'мытарства'. Я случайно удалил в коде одну букву cv2.VideoWriter_fourc(*'XVID'), и поэтому попытки дописать в код 'cv2.VIDEOWRITER_PROP_QUALITY, 95' не давали желаемого результата. |