[HN Gopher] GStreamer 1.20: Embedded and WebRTC lead the way ___________________________________________________________________ GStreamer 1.20: Embedded and WebRTC lead the way Author : mfilion Score : 118 points Date : 2022-02-18 17:09 UTC (5 hours ago) (HTM) web link (www.collabora.com) (TXT) w3m dump (www.collabora.com) | Sean-Der wrote: | WebRTC has so many great implementations now! The author of the | C# implementation started a really great project webrtc-echoes[0] | that shows them all working together. | | The next big challenge in the space seems to be getting widely | available congestion control. The hard part is making sure it is | understandable and customizable for everyones use cases. | | [0] https://github.com/sipsorcery/webrtc-echoes | nakovet wrote: | I would love to do buy gstreamer course to learn more, I am | finding the documentation hard to navigate on the macOS platform, | it seems very linux friendly. Keeping an eye for study materials. | CyberRabbi wrote: | These are incredible contributions to the community. Thank you | Collabora and the gstreamer team. | CameronNemo wrote: | I might switch to Epiphany on my Pinebook Pro due to gstreamer | supporting hwaccel video decode. VAAPI (used by Firefox) does not | on this hardware. | | I'll have to run some tests though. | freebuju wrote: | You can give Chromium a try. It has unofficially supported hw | video decode capability. Though in my experience, out of the | available browsers, Epiphany had the most robust hw video | playback support due to gstreamer integration. | CameronNemo wrote: | I am pretty sure Chromium does not have hwaccel decode on my | hardware (rk3399). It uses VAAPI like Firefox. | freebuju wrote: | My bad. I thought you were saying you had issues with | getting vaapi to work on Firefox. Tough luck getting any hw | video acceleration in Linux outside of x86_64 and vaapi | capable chips. | binarynate wrote: | This is good news, although it looks like GStreamer's WebRTC | plugin is still in its "bad" plugins repo: | | https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/t... | | From the README: | | > gst-plugins-bad: a set of plug-ins that aren't up to par | compared to the rest. They might be close to being good quality, | but they're missing something - be it a good code review, some | documentation, a set of tests, a real live maintainer, or some | actual wide use. If the blanks are filled in they might be | upgraded to become part of either gst-plugins-good or gst- | plugins-ugly, depending on the other factors. | | This was a bit of a turn off when I was evaluating GStreamer for | a WebRTC based product I'm working on. | sho_hn wrote: | The gst-plugins-bad repo is defunct. GStreamer now uses a | monorepo (also mentioned in the article). | | https://gstreamer.freedesktop.org/documentation/frequently-a... | | That said, webrtc is still in -bad: | https://gitlab.freedesktop.org/gstreamer/gstreamer/-/tree/ma... | binarynate wrote: | Thanks for the link to the new repo, I had missed that. | Sean-Der wrote: | What did you end up using for WebRTC? Any specific things that | you needed when looking at WebRTC implementations? | binarynate wrote: | Hi, Sean! Thanks again for creating Pion. That's what I'm | using for the product now. I shared my reasons for choosing | Pion on Reddit when you posted about the Pion v3 release: | | https://www.reddit.com/r/golang/comments/kj1net/pion_webrtc_. | .. | oplav wrote: | I'm not the commenter you are responding to, but we've been | using webrtcbin in a production system since late 2019. We | had some help from Collabora's consulting services | (specifically from Olivier and Aaron!) and our use case was | pretty targeted (near real time broadcasting of a video | stream to a handful of internal users) so YMMV. | | EDIT: Didn't realize you were the author of Pion! We looked | at Pion and Janus when we were evaluating, but ended up using | GStreamer ultimately because we had other GStreamer | components within our pipeline. | eternityforest wrote: | GStreamer is so amazing! Probably the best way to do anything | related to media. | krastanov wrote: | I am probably asking about an apples to oranges comparison, but | could someone knowledgeable help me understand in what situations | I would want to use gstreamer vs ffmpeg vs pipewire vs others. | They all have some overlap and can use each other for some sub- | tasks, but I do not know when to reach for what. | goombacloud wrote: | GStreamer is the top-level framework that allows you to connect | the modules it offers to solve your problem, ffmpeg is a tool | or library to invoke which may cover your case but is a bit | harder to integrate and fit for arbitrary usecases, PipeWire is | for live connecting input sources to output sinks at a lower | level. | johnny22 wrote: | it really depends on what you're trying to do. | | gstreamer and ffmpeg can both fill the same niche, but not | completely. gstreamer is plugin based while ffmpeg is | monolithic. gstreamer has a plugin for ffmpeg, while the | reverse is (or wasn't last i checked) isn't true. | | You need pipewire, pulse, or plain alsa to actually play the | audio streams. Not a lot of overlap most of the time with | gstreamer or ffmpeg unless you're dealing with raw streams. | preya2k wrote: | I wanna believe that this is a fantastic piece of software. | However it's really bad at describing what it does. As a software | developer, I cannot find a high-level 2-5 sentence description of | what GStreamer actually is/does on their website. I might just be | blind, but this should really be on the home page above the fold. | So many OSS projects fail at this :( | TingPing wrote: | Its a multimedia framework. It can do everything in that | domain, decoding, muxing, rendering, etc. ___________________________________________________________________ (page generated 2022-02-18 23:00 UTC)