-
-
Notifications
You must be signed in to change notification settings - Fork 247
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Elgato CamLink support (NV12 format and so on) #97
Comments
NV12 format is not supported. Use UYVY, YUYV, RGB24, JPEG or MJPEG. |
Is there a way to change it from UI ? |
No. First you need to make sure that the camera supports the desired formats. Show |
`[kvmd-webterm@pikvm ~]$ v4l2-ctl --list-formats-ext -d /dev/kvmd-video
[kvmd-webterm@pikvm ~]$ ` |
Sorry, but no chance to enable it. It has no supported formats. |
That is interesting. Seems the question was correct - Elgato is not supported Elgato seems to be power house currently for all streaming capture devices ( half of the world uses it for OBS ) - strange that so popular and unfortunately expensive hardware does not work. Bummer Nevertheless - I would suggest a feature - dropdown allowing to change the format in UI. |
In fact, I think I could add support for this thing, but it requires separate research. The reason why this is not supported is very simple: I don't have the money to buy and test such devices. Especially since this is not a good fit for Pi-KVM. This thing does not know how to compress an image on its own and compressing video on a raspberry 4k will require huge hardware resources. |
The format is configured once and then used repeatedly. If ustreamer supported one of the formats of this device, it would work without explicitly specifying the format on your part. |
|
Let's imagine that ustreamer supports all three formats of your. What format will you choose? NV12? And how will it differ from the other two? This is a technical setting that does not make sense to change the user at all. It doesn't affect absolutely anything, it's just the format of transmitting pixel data from the device to the streamer. For example, CSI HDMI supports UYVY and RGB24. By default, the first one is used. The second one is never needed at all, it gives nothing and is even worse supported by the driver. Once you need to choose the best format for the device and never change it. You needed this setup because your device didn't work. If all three formats were supported, the driver would choose one of them and just use it. |
I understand it and it is ultimately your decision and your product - so whatever you decide stands :). My experience though suggest that there is lots of edge cases everywhere and hiding option from user just because something happens automatically ( or as I sometimes say "automagically" ) is almost never good decision. What if I have device that supports UYVY and RGB24 but for some reason implementation of UYVY is broken. Most of power users probably would override main.yaml etc. but would have to figure it out first that this is an issue. Having dropdown would allow anybody to try different setups and choose the best for their situation - it may not work in my case as my device simply does not support needed formats but it may be great option for somebody else. Ofc it will not matter for your v3 hardware but for all DIY may be absolutely great option. Whatever you decide - good luck and Thank you for the great work. I will just purchase different capture card and try it out again. |
If UYVY is broken, then you will know it from the log. In Pi-KVM, there are fifty parameters that somehow affect the video. If you follow this logic, you need to ensure that they are configured from the GUI, without giving preference only to the format. You are experiencing a problem because you are using a device that is not on the recommended list. In addition, as far as I can tell, changing the format alone would not be enough. It seems that other settings need to be changed, such as the list of screen resolutions. |
uStreamer-specific task. It will be done in the future. |
I have a patch added NV24 and NV16 supported needed for rk3588 Vincent056@793f904 also this is needed, it is tested on orangePi5 Plus: Vincent056@6a1c16f |
@Vincent056 |
My previous version was uStreamer 5.37. I don’t know if it’s because the new uStreamer 5.43 is incompatible with my pikvm. |
|
could you post what you have in the end of |
I was wrong. Regarding the color issue, it was because the captured machine turned on the night mode. |
I also have an extra Elgato CamLink lying around that I'm trying to get working with PiKVM, to avoid buying another component. My supported formats are similar to @Eric-168 (although slightly different):
Like @Eric-168, I cloned @Vincent056's branch and ran the exact same commands, and edited main.yaml accordingly to also specify video0. The good news is I no longer get the unsupported device error. The bad news is I hit an error during capture. I also no longer get resolution options in the dropdown. I noticed @Eric-168 somehow was able to set the resolution to 1920x1080. For some reason, mine won't set to anything other than 4K, even after setting the resolution on the target host to 1024x768. I was worried 4K was producing output that was too large for PiKVM to handle. Any idea what I'm doing wrong? Thanks.
|
I got below with Elgato Cam Link. Any idea ?
The text was updated successfully, but these errors were encountered: