Posts

Showing posts with the label gstreamer

GNUnet Messenger API: August 2024

Image
Hi again, as mentioned last time when talking about the user interface for discourses, I was looking into the implementation of video streaming this time. For this task I wasn’t really able to workaround using RTP or something comparable. So I tried looking into it again with success. The problem I had with it previously was actually related to me overlooking the structure GstRTPBuffer in the documentation of GStreamer . With that I was able to calculate the actual durations of each buffer. I could simplify the code handling video and audio streams into one with only some variables like datarate which differ. But overall it worked for RTP via both rtpL16pay and rtph264pay nodes. So I could transfer H.264 encoded video via GStreamer now without major issues. However one thing I needed to solve was getting encoding done on many different platforms and form factors. Because not every SoC or device offers hardware encoding and decoding which is preferable though reducing power cost ...

GNUnet Messenger API: August

Image
Hi again, I finally managed to get some more time working on the Messenger project and there have actually been quite some changes. First of all I added multiple views with sub-windows in the messenger-cli application. So essentially a really awesome aspect of ncurses was that you could draw content inside a so called window but also create sub-windows inside of another window. That means the whole implementation I’ve worked on before could be reused to merge multiple views in a custom layout, I just had to implement. So the results looks like this: image of messenger-cli in group chat The layout depends on the size/resolution of your terminal and will adjust dynamically if you resize it. So for example if you decrease the width the list of members in a chat will hide but it’s still accessible via pressing TAB. I tried to make the experience pretty smooth and used a lot of knowledge from working with libhandy on the convergent GUI from the messenger-gtk application. So I hop...