Skip to main content

Search

Items tagged with: GStreamer


Thanks to @slomo the #gstreamer gtk4-paintable-sink just got support for video rotations. This is nice for video apps, making playback of video recorded on phones (portrait mode) more easy or faster (avoiding a copy compared to using a dedicated gst videoflip element).

The change is even better for Snapshot, the #gnome camera app: it uses the sink for its viewfinder and avoiding additional copies here has quite an impact on #mobilelinux devices.

gitlab.freedesktop.org/gstream…

#gtk #rustlang


If you use #pipewire for cameras you can now (in the upcoming 1.2) enforce specific rotations via node rules. This is useful on devices with rotated cameras that don't use a DT and #libcamera or for testing (e.g. to find out the correct rotation of a phone camera). The rotation is respected by an increasing number of apps, notably #gstreamer based ones (like Snapshot - but not Cheese) and #firefox (if you enable PW cameras via `media.webrtc.camera.allow-pipewire`).

See gitlab.freedesktop.org/pipewir…


The Rust+Gnome hackfest sponsored by gtk-rs (opencollective.com/gtk-rs) just ended, it allowed us to make great improvements like:

  • rewrite the clone! macro so it can now be formatted and have rust-analyzer run on it
  • rewrite rustdoc-stripper so it now uses rustc internal API directly and can be called with cargo. Some work remains to be done but it's already useable.
  • finally finished the release blog post (we're months late but better late than never :p)
  • lots of other cleanups and bugfixes

#rust #rustlang #gnome #gstreamer #gtk #hackfest #thessaloniki #greece


💻 Last week I had a great time at the #GStreamer #hackfest ! I decided to take the opportunity there to hack on the #PipeWire GStreamer elements and here's my story: gkiagia.gr/2024-06-04-hacking-…

#GstHackfest @gstreamer @pipewire


Just a few days to go before #IOTSWC24 kicks off in Barcelona! Join us with STMicroelectronics as we showcase #MachineLearning video analytics with #GStreamer on the STM32MP2! col.la/iot24 #STPartnerProgram #STAuthorizedPartner


Just want to quickly share with #linuxmobile folks that the new #libcamera softwareISP does indeed work with the #librem5 - and with a #PipeWire + #GStreamer pipeline. Here's a first image running Warp (from Flathub).

There's still some stuff to iron out to make this work reliably and ship to users - but things are falling into place.


Thanks to @slomo the #gstreamer #gtk gtk4paintablesink just got support for DMABuf (and thus Wayland/KMS) passthrough \o/

gitlab.freedesktop.org/gstream…

This will allow to make video playback in various apps much faster. And, if everything works out, allow the same for Camera viewfinders in apps like #gnome camera / snapshot 🤞


Friends of energy efficiency - the Light Video 0.1.0 #Flathub update is out, build with #gtk4 4.14 and #GStreamer 1.24.1.

This should be the first app targeting the #linux / FDO desktop enabling Wayland video offloading (think zero-copy playback) by default. In many cases (actually more than I expected) this can improve battery lifetime - and on low-end devices even playback performance - significantly.

flathub.org/apps/org.sigxcpu.L…


Time to let the cat out of the bag.

I've been working on a new app to use your #Linux phones and tablets as secondary wireless "side displays" (not mirrors). This is based on #GStreamer, x264, #Mutter APIs, and low-latency UDP streaming, and will be designed to work on both ARM and Intel, regardless of hardware acceleration support. (Testing on a #librem5)

This is still at an early stage, and will take some time to become usable. Thoughts and feedback?

#gnome #linuxphones #apps #mobilelinux


The new GStreamer 1.24 release is also the first that has a Rust component as part of core, in addition to all the plugins that were already part of previous releases.

gstreamer.freedesktop.org/rele…

floss.social/@gstreamer/112041…

#GStreamer #RustLang #Rust


📢 GStreamer 1.24 is out - a new major feature release of your favourite multimedia framework! 🕺🏼💃🏼🎉

Check out the release notes for details of all the exciting new features and improvements we have been working on:

gstreamer.freedesktop.org/rele…

Enjoy!

📦 Binary packages for Windows, macOS, iOS and Android are now available at gstreamer.freedesktop.org/down…

#GStreamer #Release #opensource #FreeSoftware #Multimedia



📢 GStreamer 1.24 is out - a new major feature release of your favourite multimedia framework! 🕺🏼💃🏼🎉

Check out the release notes for details of all the exciting new features and improvements we have been working on:

gstreamer.freedesktop.org/rele…

Enjoy!

📦 Binary packages for Windows, macOS, iOS and Android are now available at gstreamer.freedesktop.org/down…

#GStreamer #Release #opensource #FreeSoftware #Multimedia


#FOSDEM: While efficient video playback has long been possible in the embedded #Linux world, desktop applications have been lagging behind. Here's a look at the state of video offloading on the Linux desktop, by Robert Mader: youtube.com/watch?v=SMCMZwAiw2… #GStreamer #GTK #Chromium


My #FOSDEM presentation about #Wayland video offloading is online. If you are interested, you can watch it here: fosdem.org/2024/schedule/event…

I'm happy about feedback, both on the technical side as well as how I can improve doing presentations :)

#FOSDEM2024 #GNOME #gtk #Collabora #GStreamer #sway #kde #Chromium #mpv


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.


Take for example these examples of a #PinebookPro (rk3399 / v4l2 stateless) playing 4k content or the #RaspberryPi 4b (v4l2 stateful / m2m) playing 1080p@60fps (the limit of the hardware decoder) on a 2560x1440 screen. My videos probably don't fully capture the effect, but especially in the later case the difference is pretty visible). This is using the gtk video player demo with some extra patches and #gstreamer.


My personal vision with all of this is to see #wayland desktop technologies not only catching up with what other OSs offer, but becoming leading players - just like what other FLOSS projects already archived (or are in the process of becoming) in their areas. I'm thinking of #mesa, #pipewire, #gstreamer, #systemd, the kernel of course, and many others.


This is @halfmexican; GNOME Outreachy student excited that their effort to make a modern and sandboxed Camera demo for Workbench has paid off 🛠️

Well done! 🎉

Thanks @philn and @slomo for your help!

#GNOME #Outreachy #development #students #GStreamer #PipeWire #Flatpak #freedesktop #libcamera #GTK


I've spent a good part of my weekend working on upgrading the GStreamer Rust bindings on Servo. The presentation by Martin Robinson from @igalia at @rustnl was a real inspiration.

github.com/servo/media/pull/39…

I'm delighted with the revival of Servo and I believe it has a bright future.

#ServoBrowser #RustLang #GStreamer


Over the Easter holidays I experimented a bit with building Rust code with meson instead of cargo.

Specifically I tried building a GStreamer plugin with a few dozen Rust dependencies, but the same applies in a similar way to GTK/GNOME applications or literally anything else.

A write-up of the results with a lot of details can be found here: coaxion.net/blog/2023/04/build…

#RustLang #GStreamer #GNOME #GTK #meson #cargo #BuildSystems


✨ GStreamer Rust bindings 0.20 and Rust plugins 0.10 release is out

This release features the addition of a few convenience APIs, the addition of bindings for some minor APIs and a lot of internal changes to improve performance and code generation.

gstreamer.freedesktop.org/news…

#GStreamer #Rust #RustLang


As part of the optimizations, there are a lot fewer temporary allocations now, e.g. for NUL-terminated strings.

Also, in addition to better performance, the code generation improvements also reduce the binary size considerably.

Some GStreamer plugins saw reductions of 15-20% 🥳

#GStreamer #Rust #RustLang


A year ago I started working on supporting GL Textures in the rusty @GStreamer Paintable @GTK Sink and now its merged 🎉
This should dramatically reduce the CPU usage consumed and allow for zero-copy rendering when used with hardware decoders.
gitlab.freedesktop.org/gstream…

#gstreamer #gtk #gnome #rust


GObject subclassing in Rust for extending GTK+ & GStreamer youtube.com/watch?v=TSf3rVyv7c…

#GTK #GStreamer


I wrote a new blog post, "A brief introduction to GStreamer".

I would like to help people not familiar with GStreamer API get a quick jump start.

caricio.com/a-brief-introducti…

Example in Rust! :blobcatheart:

#Rust #GStreamer