Skip to content

Replace MediaRecorder with FFMPEG process for screen recording workflow #69

@siddharthvaddem

Description

@siddharthvaddem

Current screen recorder uses the browser's built-in MediaRecorder API. Not ideal in terms of capturing quality/ choppiness or other config. Generic video encoder (using generic settings). Also provides variable frames per rate which is not ideal. I am in favor of migrating this by leveraging ffmpeg.

Current Flow of Screen Capture:
desktopCapturer -> MediaStream -> MediaRecorder -> WebM Blob

Some config considerations for ffmpeg

  • Using Hardware encoding detection (VideoToolbox on Mac, NVENC on Windows, equivalent to Linux), fallback to software if unavailable
  • tune stillimage for sharp text
  • high bitrate for near lossless quality
  • more.... as deemed necessary for quality.

We basically want the best quality recording. Possibly in the future for mouse activity tracking, record separate layers for mouse only and screen only without mouse, for mouse customization (out of scope for this issue).

Record 4K content at 60fps.
Also support recording in other formats/ upload other types. Right now due to some sort of licensing restrictions h265 doesn't seem to work with MediaRecorder in Chromium.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    Status

    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions