diff --git a/packages/driver/src/cy/video-recorder.ts b/packages/driver/src/cy/video-recorder.ts index 7074c9da3bae..a5dfe42a73bc 100644 --- a/packages/driver/src/cy/video-recorder.ts +++ b/packages/driver/src/cy/video-recorder.ts @@ -5,7 +5,13 @@ export function create (state, Cypress) { audio: false, video: { // mediaSource: browser supported by user pref + // @ts-ignore mediaSource: 'browser', + frameRate: { + exact: 30, + // ideal: 30, + // max: 30, + }, }, }) .then((stream) => { @@ -14,9 +20,10 @@ export function create (state, Cypress) { mimeType: 'video/webm', } + // @ts-ignore const mediaRecorder = new window.MediaRecorder(stream, options) - mediaRecorder.start(100) + mediaRecorder.start(200) mediaRecorder.addEventListener('dataavailable', (e) => { Cypress.action('recorder:frame', e.data) diff --git a/packages/server/lib/video_capture.coffee b/packages/server/lib/video_capture.coffee index 5501619e26a8..cf098dc2a691 100644 --- a/packages/server/lib/video_capture.coffee +++ b/packages/server/lib/video_capture.coffee @@ -96,6 +96,11 @@ module.exports = { debugFrames("writing video frame") + # # wStream.write(data) + # pt.write(data) + + # return + if wantsWrite if not wantsWrite = pt.write(data) pt.once "drain", -> @@ -148,15 +153,15 @@ module.exports = { if options.webmInput cmd .inputFormat('webm') - .videoFilters("scale=trunc(iw/2)*2:trunc(ih/2)*2") + .withFpsInput(18) + # .videoFilters("scale=trunc(iw/2)*2:trunc(ih/2)*2") ## same as above - # .videoFilters("crop='floor(in_w/2)*2:floor(in_h/2)*2'") + .videoFilters("crop='floor(in_w/2)*2:floor(in_h/2)*2'") else cmd .inputFormat("image2pipe") .inputOptions("-use_wallclock_as_timestamps 1") - cmd.save(name) startCapturing() @@ -181,6 +186,7 @@ module.exports = { "-preset fast" "-crf #{videoCompression}" ]) + # .videoFilters("crop='floor(in_w/2)*2:floor(in_h/2)*2'") .on "start", (command) -> debug("compression started %o", { command })