Skip to content

External capture-card camera feed is degraded during export: stutter, color shift, and compression #1914

@nathanael

Description

@nathanael

Description

Cap’s export pipeline appears to significantly degrade external camera/capture-card video sources, even when the live preview looks correct and the same source records cleanly in other macOS apps.

The problem is most visible with an HDMI capture-card camera source, but the issue seems to happen during Cap’s export/render stage rather than at capture/preview time.

In my case, the exported video has:

  • noticeable stutter / choppy frame cadence in the camera/person video
  • mismatched timing between the camera feed and the rest of the recording
  • heavy compression artifacts, especially in the camera/background
  • significant color shift, especially a strong red/magenta cast
  • little or no visible improvement when choosing the highest available export quality settings

This makes Cap difficult to use for higher-quality product demos, walkthroughs, or client-facing recordings where a proper external camera is used.

Why I believe this is an export/render issue

I tested the same camera/capture setup through multiple paths:

Test setup

  • macOS on Apple Silicon
  • Sony camera over HDMI
  • UGREEN 15389 / CM629 capture card
  • Capture-card modes tested include 1080p and 1440p
  • Cap Studio Mode export
  • OBS comparison recording
  • Photo Booth comparison recording
  • Internal Sony SD card recording as reference

Results

  1. Sony internal SD card recording
    • Best image quality
    • Expected sharpness and color
  2. UGREEN capture card directly into Photo Booth
    • Good image quality
    • Slightly more compressed than the Sony internal recording, but acceptable
  3. UGREEN capture card directly into OBS
    • Good image quality when manually selecting the correct capture mode, including 1440p
    • Comparable to Photo Booth
  4. UGREEN capture card inside Cap preview
    • Preview appears mostly acceptable
  5. Cap export
    • Camera feed becomes visibly worse
    • More compression
    • More red/magenta color shift
    • Choppy/stuttered camera motion
    • Export quality setting does not seem to materially improve the camera feed

This suggests the source feed itself is not the main problem. The same capture-card feed can look acceptable in Photo Booth and OBS. The degradation appears to happen when Cap renders/exports the final video.

Expected behavior

If the camera feed looks correct in preview, the exported file should preserve that quality reasonably well.

At minimum, Cap should provide export options that allow users to preserve camera quality, including:

  • explicit bitrate control
  • constant frame rate export
  • source frame-rate preservation or proper frame-rate conversion
  • color space / color range handling, especially Rec.709 limited/full range
  • higher-quality camera-layer compositing
  • an option for visually lossless or near-lossless export
  • an option to export or access original captured tracks without destructive re-encoding

Actual behavior

The exported video is much worse than both:

  • the live preview inside Cap
  • the same capture source recorded in OBS or Photo Booth

The degradation includes:

  • stutter in the camera/person video
  • apparent frame-rate mismatch between input and export
  • heavy camera-layer compression
  • color shift toward red/magenta
  • quality settings not producing a meaningful improvement

Why this matters

External cameras and HDMI capture cards are common for professional demos, tutorials, sales videos, education content, and client updates.

If Cap can preview the feed correctly but then exports a lower-quality, stuttered, color-shifted version, users cannot trust the final output for professional work.

This is especially problematic because Cap is positioned around polished local editing and export. The editor/preview may look usable, but the final exported file is not.

Related issues

This seems related to:

This issue may be broader than a feature request for RAW/Advanced export because it appears to involve a bug in the export/render pipeline for camera/capture-card sources.

Requested improvements

Ideally, Cap should add or improve:

  1. Advanced export controls
    • bitrate
    • codec
    • constant frame rate vs source/passthrough frame rate
    • resolution
    • color range/color space
    • visually lossless option
  2. Better external camera/capture-card handling
    • preserve the selected camera source resolution and frame rate
    • avoid unnecessary downsampling/recompression of the camera layer
    • correctly handle color range and color space from capture-card inputs
  3. Diagnostic export info
    • show actual export resolution, FPS, bitrate, codec, and estimated file size
    • optionally show source camera resolution/FPS detected by Cap
  4. No-transcode or minimally-transcoded export option
    • either direct access to original captured tracks
    • or a high-quality intermediate export for users who want to finish encoding in another tool

Reproduction steps

  1. Connect an HDMI camera through a UGREEN 15389 / CM629 capture card on macOS.
  2. Open Cap Studio Mode.
  3. Select the capture card as the camera source.
  4. Record screen + camera.
  5. Confirm the preview looks acceptable.
  6. Export using the highest available quality setting.
  7. Compare the exported file against:
    • the same capture card recorded in Photo Booth
    • the same capture card recorded in OBS
    • the camera’s internal SD card recording

Result

The Cap export shows significantly worse camera quality than the other recordings, including stutter, compression, and color shift.

Additional note

This does not seem to happen the same way with a normal webcam source such as the Insta360 Link 2. The issue appears much worse with the HDMI capture-card source.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions