Skip to content

Conversation

@jpggvilaca
Copy link
Contributor

@jpggvilaca jpggvilaca commented Dec 29, 2025

Summary

Screenshot 2025-12-29 at 11 58 15

How to test

Checklist

  • The PR title and description are clear and descriptive
  • I have manually tested the changes
  • All changes are covered by automated tests
  • All related issues are linked to this PR (if applicable)
  • Documentation has been updated (if applicable)

Copilot AI review requested due to automatic review settings December 29, 2025 11:01
@jpggvilaca jpggvilaca requested a review from a team as a code owner December 29, 2025 11:01
@jpggvilaca jpggvilaca added the Geti Tune UI Issues related to Geti Tune Studio UI label Dec 29, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a codec selection option to the webcam source configuration, allowing users to choose from a list of video codecs (XVID, MJPG, YUY2, H264, H265, MP4V, DIVX) when configuring a webcam input source.

  • Introduces a codec picker component with predefined codec options
  • Updates the form submission to include the selected codec
  • Adds test coverage for the new codec field

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
application/ui/src/features/inference/sources/webcam/webcam.component.tsx Adds codec picker UI component and includes codec in form data submission
application/ui/src/features/inference/sources/webcam/webcam.test.tsx Updates test configuration and assertions to verify codec field behavior

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link

github-actions bot commented Dec 29, 2025

📊 Test coverage report

Metric Coverage
Lines 40.2%
Functions 34.9%
Branches 84.8%
Statements 40.2%

@github-actions
Copy link

github-actions bot commented Dec 29, 2025

Docker Image Sizes

CPU

Image Size
geti-tune-cpu:pr-5102 2.85G
geti-tune-cpu:sha-470c206 2.85G

GPU

Image Size
geti-tune-gpu:pr-5102 10.61G
geti-tune-gpu:sha-470c206 10.61G

XPU

Image Size
geti-tune-xpu:pr-5102 8.69G
geti-tune-xpu:sha-470c206 8.69G

Copy link
Contributor

@MarkRedeman MarkRedeman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally I think we should first add camera discover to the backend and integrate it into the UI.
Aurelien added this in #5101

After this we should look into exposing configuration capabilities to this endpoint. As an example in Geti Action we are exposing a /api/cameras/supported_formats?driver=xxx&fingerprint=yyy endpoint that returns the following combinations of resolution x fps for one of my cameras:

[
    {
        "width": 640,
        "height": 360,
        "fps": [
            30
        ]
    },
    {
        "width": 640,
        "height": 480,
        "fps": [
            30
        ]
    },
    {
        "width": 800,
        "height": 600,
        "fps": [
            30
        ]
    },
    {
        "width": 1024,
        "height": 576,
        "fps": [
            30
        ]
    },
    {
        "width": 1280,
        "height": 720,
        "fps": [
            5,
            10,
            30
        ]
    },
    {
        "width": 1280,
        "height": 960,
        "fps": [
            30
        ]
    },
    {
        "width": 1920,
        "height": 1080,
        "fps": [
            5,
            30
        ]
    }
]

We could extend this to also include codec information.

UX wise we will need to figure out how to expose these settings.
I think it would be better to choose smart defaults and only allow users to change these when they click on some "advanced settings" option as now beginner users might be confused as to which codec they should choose.

aria-label={'List of codecs'}
defaultSelectedKey={String(state?.codec)}
>
{LIST_OF_CODECS.map((codec) => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we filter these based on what the camera supports?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Geti Tune UI Issues related to Geti Tune Studio UI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add codec option to webcam source

3 participants