2

Goal: Using my Webcam (Aukey 1080p LM1E) for Video Communication with MJPEG 1920x1080 30fps under linux.

Problem: My first Problem was that whenever i tried qv4l2 to change the settings from YUYV 640x480 30fps to MJPEG 1920x1080 30fps it did reset to the YUYV settings. But with v4l2-ctl --device /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=MJPG i could save the settings. But the weird thing is whenever i use cheese or a Video Communication in my Browser, it settles back on YUYV.

Attempts: At first I only tested it with cheese and a video communication, so I thought the webcam disconnects and resets the settings every time. For this reason I created a udev rule that resets the settings to MJPG SUBSYSTEM=="video4linux", KERNEL=="video[0-9]*", ATTRS{product}=="AUKEY PC-LM1E Camera", ATTRS{serial}=="AUKEY PC-LM1E Audio", RUN="/usr/bin/v4l2-ctl -d $devnode --set-fmt-video=width=1920,height=1080,pixelformat=MJPG" and it worked. Every time I unplugged and reconnected my webcam, the MJPG settings would load. But unfortunately it didn't solve the problem because it still sets the format to YUYV when I use cheese or my video communication. My next attempt was to use something else so I used webcamoid and guvcview. The result was confusing because it didn't change back to YUYV.

Question: Any idea how I can solve this problem? Iam really confused because there must be a reason why cheese and browser video communications are using YUYV?

JoeLex
  • 21
  • 1
  • I'm currently noticing the same thing and I think it's simply the client application which lists all the modes and decides which one to use, some application are probably smarter and prefers MJPEG when available to increase the framerate, some others like cheese may just select the first mode they see in the list for the asked resolution and thus end-up with YUYV. Cheese always selects YUYV in my case, leading to very low framerate, whereas Chrome for example uses MJPEG for high resolutions. – Adrien Rey-Jarthon Oct 16 '20 at 14:55

0 Answers0