Skip to content

Create local video rendering pipeline #77

@richiemcilroy

Description

@richiemcilroy

We're iterating fast on a new local-first Cap app powered by Tauri V2 and SolidJS.

As part of the new app, both the screen recording and webcam recording are captured separately.

In the new Cap app, when you finish recording your video, you are presented with 4 options:

  • View video (opens a new window with a video player)
  • Edit video (ability to trim, speed up, change webcam overlay placement/size, add effects to the video like gradient background/offset padding)
  • Copy video (copies video to your clipboard)
  • Share (uploads video to your Cap dashboard and copies shareable video URL to your clipboard)

For this to work, we require a new local video rendering pipeline under the hood.

The video rendering pipeline will probably be a function which can be invoked from anywhere in the app. The params passed to it would be:

-screen recording file path
-webcam recording filepath
-video settings:
-- webcam size
-- webcam position,
-- webcam style (e.g. border radius, shadow),
-- video output size
-- video background / gradient
-- video padding size

The video rendering function should be performant, and return the file path of the rendered video. It should output a regular mp4 video.

Will add an extra $250 to the bounty if you can build this in Rust. If not, JavaScript is fine using Web API's.

The new desktop app is currently located in the brendonovich/new-desktop-app branch, in folder desktop-solid. You can run the desktop-solid app directly with nvm use 20, pnpm install, and then pnpm tauri dev.

Feel free to DM me on X or Discord if you need more info!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions