#V4L2

2025-06-06

@BrodieOnLinux About turning phone into camera, at least on #android ( #android15 ), you can just connect your phone to the computer with the cable, and select internet camera on the connection type, and then at least with #V4L2 you can use the phone in the #OBS. I saw there is beta of #pipewire camera integration, but it didnt yet for me.

I suppose Christian uses #iphone and (after quick search) #ContinuityCamera, and after another search it seems to be only be integrating with the #apple ecosystem :/ so #droidcam seems to be required in this case

2025-01-09
Some have argued that "we could do the same with Pipewire".

1. I love Pipewire. It's ****ing great. For the first time Linux has multimedia stack that surpasses Apple's.
2. With video we still might want to have option to cut down the stack depending on device. I.e. have a choice in product design whether to use or not use gstreamer and pipewire.

So from this premise IMHO a loopback video device does make sense.

#v4l2 #pipewire #gstreamer
2025-01-06

Ich implementiere gerade einen "windows media foundation" wrapper für GNU Octave, für v4l2 habe ich das bereits vor 10 Jahren gemacht.

Wenn man über MFGetAttributeRatio MF_MT_FRAME_RATE_RANGE abruft, kommt z.B. für YUY2 (1290x960) zurück

Numerator = 10000000
Denominator = 1333333

unter GNU/Linux mit v4l2 wie erwartet:
Numerator = 15
Denominator = 2

😳 ich frage mich manchmal echt, was die in Redmond so rauchen...

#windows #linux #v4l2

2024-11-25

The (deprecated) #Linux port of Microsoft Teams doesn't support rotating the WebCam. With all the low level camera/video libraries out there, there aught to be a way to stream the camera to a virtual device that is rotated and can be used by less capable apps like MS Teams.

I can see that VLC allows rotation, and #V4L2 (v4l-utils) can do lots of similar things, but I haven't been able to get it to work for the general case. Has anybody out there managed to get something like this working?

2024-10-31

Working on #libobscura today.

#OpenGL , #EGL , #glium , #glutin , #Rust , #v4l2 .

After 2 weeks of effort, the #GPU decoder COMPILES!

...The screen is green.

But hey, I actually know how to debug this :D It's almost as if 10 years of #debugging and #ReverseEngineering paid off!

2024-10-29

Remember #libobscura ?

I applied to have the project as part of #freedesktop_org @XOrgFoundation .

I'd like to start publishing docs and sources ASAP!

So can I get some acks from people who know about #cameras ?

@libcamera #linux #linuxmobile #v4l2 #opensource

Robert Maderrmader
2024-10-16

on nightly (upcoming 132) now has better hardware decoders support - used by devices instead of VA-API. It's still disabled by default, but the flags to enable it have been unified. To enable it you'll need:
- AcceleratedVideoDecoder (enabled by default for VA-API)
- AcceleratedVideoDecodeLinuxGL (only if you use GL, not VK)
- AcceleratedVideoDecodeLinuxZeroCopyGL (only EGL, not GLX: use video formats like NV12 directly)

chromium-review.googlesource.c

2024-10-04

The #Librem5 can run #egui :)

(It's an immediate mode #gui toolkit for #Rust .)

Here's a demo of an #opengl triangle.

This will be needed for a proof-of-concept #camera application using #libobscura (thank you @PrototypeFund for the funding!)

#linux #v4l2

@pmartin : Ah, je suis bien d'accord. Si je prend deux briques que je fréquente, #ALSA et #V4L2 (son et vidéo sous #Linux), la documentation est parfois ténébreuse. La lire, c'est un peu se prendre pour Indiana Jones :)

Don't suppose anybody has any #ffmpeg trickery for not resetting the seek bar to zero in a #Youtube live stream?

I have a cron that does a killall ffmpeg and then invokes a fresh ffmpeg command every 10 minutes as a self recovery mechanic in case something goes wrong, but it causes the feed to lose its seek bar history each time. Adding genpts to fflags doesn't fix it, nor does adding frag_keyframe+empty_moov to movflags.

#V4l2 input and #h264_v4l2m2m output to an #rtmp flv, if relevant.

Today's #experiment focused on using multiple layers for #webcam #capture. I believe it's always important to question #why an issue occurs and to have the willingness to #analyze it deeply and find a solution independently.

github.com/libsdl-org/SDL/issu

#pipewire #v4l2
#ubuntu #fedora
#gcc #cmake #ninja #meson

2024-07-17

Has anyone had success using #V4L2 in #OBSStudio alonside #Pipewire recently? Regular source in #OBS shows an empty screen while having correct controls, and the Pipewire one has no devices listed. Logs show v4l2-input reporting 'Device or resource busy', but viewing it in mpv via 'av://v4l2:/dev/video*' works as expected during #OBS not running and no other mpv processes accessing this path. Both Pipewire and wireplumber have the device open.

Some time after video0 device disappeared and video1 appeared in its place—perhaps after mucking about with Pipewire's nodes—OBS was able to use it correctly one time, yet a way of reproducing or even understanding it eludes me. Previously, before this functionally was added, everything worked perfectly well. Any ideas are most welcome.

2024-07-17

Werde aber wahrscheinlich was zu #EmbeddedLinux machen. Die Frage ist jetzt nurnoch ob ich mehr lust auf #PTXDist oder #V4L2 habe…

2024-06-17

is the #multimedia field so small or why can’t you find anything/much about #V4L2 #YUV and related topics?

2024-02-08

For anyone who is too small-brained to develop #libcamera, I started an unofficial Matrix channel to discuss the need for ergonomic alternative:

#libobscura:chatwave.org

matrix.to/#/#libobscura:chatwa

#v4l2 #linux #driver #kernel #ergonomy #graphics #camera #video

2024-01-19

Most of the things needed will be part of upstream in upcoming #gtk / #GStreamer / #weston / #gnome releases, some things are still in the PoC stage, most importantly some patches for #v4l2 Gstreamer elements, see also my previous post: floss.social/@rmader/111738015

2023-12-21

Update regarding #wayland zero-copy video playback (using hardware planes): with a few small patches it works with #Chromium, both with #vaapi (Intel/AMD) and #v4l2 stateless.

Here a short video using a #rk3399 - the #PINE64 #PinebookPro - playing a 4k 60fps video - only possible with hardware plane offloading. Playback is *almost* smooth already (~50fps), the goal is to catch up with #GStreamer where we get stable 60.

I hope this will all get upstreamed in the coming months.

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst