📢 We're not stopping with the releases!
Meet vk-video, a @rustlang library for hardware video decoding using Vulkan Video 🚀
The library integrates with wgpu, so you can decode video using the GPU's hardware decoder and then sample the decoded frame in a wgpu pipeline.
@t3dotgg@sebastienlorber@swmansion@react We use FFmpeg only for decoding/encoding. The rendering part uses our rendering engine, written in wgpu (Rust implementation of WebGPU standard). Under the hood, TS SDK runs a custom-made media server that handles all multimedia stuff.
#MembraneMondays Variable network conditions may lead to video artifacts, rebuffering events, and poor user experience. This is where Simulcast and SVC come into play 🧵
#webrtc#multimedia#membrane
#MembraneMondays To save space, a video frame is often stored as a difference from a previous frame. Or a future frame.
How is that? Meet bidirectional frames, or B frames 🧵
#MembraneMondays Real-time (Something) Protocol?
We've seen a lot of confusion when it comes to different media streaming protocols, learn about the differences! 🧵
#multimedia#membrane#rtp#webrtc
#MembraneMondays Keyframe vs I-frame vs IDR picture
These three terms are commonly used interchangeably.
But what are the differences between them? 🧵
#membrane#codec#multimedia
Bandwidth estimation in a server is a challenge, but one possible to overcome. @elminiero performed it in the @JanusWebRTC server and told us all about it – check out the video below to find out the tricks he hid up his sleeve 🃏
https://t.co/ct4h61xWbD
🎉 Proud to see another successful deployment of Membrane! This time by @FireworkHQ, who use it to integrate various media services within their project Ava 👇
We're kicking off Monday strong with our new series #MembraneMondays where we'll share with you some of our favorite Membrane tips & tricks ✨
Starting on a good note, let us talk a bit about what is a keyframe in a video stream 🧵⬇️
#MembraneMondays, Jitter & Jitter Buffer
When packets are sent over UDP, they may arrive at the receiver's end at uneven time intervals. We refer to this behavior as 'jitter', and solve it using a Jitter Buffer. 🧵
#webrtc#rtp#rtc
Elixir WebRTC now supports sending VP8 encoded files to a browser!
Together with @lukaszpwala , we are going to rewrite all @_pion examples in @elixirlang so stay tuned! 👀
Check out the repo at: https://t.co/i6DaRVSzAt
#WebRTC#MyElixirStatus#ElixirRadar
🚀 Unveiling our latest demo: live camera feed streaming from a #RaspberryPi directly to your browser using HLS, all powered by @Elixirlang! 🔥
Achieved by leveraging @NervesProject + Membrane,
a powerful #Elixir toolset perfect for multimedia solutions on embedded systems ⚡️
Check out the demo here📷: https://t.co/3FMLIEvIGf
#MyElixirStatus #webRTC
I can't wait to share the first results of rewriting Pion in Elixir at @ElixirConf!
I have exciting benchmarks between Pion, aiortc, coTURN and Elixir WebRTC to show. See you in September!
We're organizing RTC.On conference in October and we're looking for speakers!
If you're experienced with:
💥 implementing multimedia in web & mobile apps
💥 building broadcasting platforms
💥 webRTC
don't hesitate to apply! Links in thread👇
We offer our speakers travel costs reimbursement & free accomodation for the duration of the conference.
#webRTC #multimedia #broadcasting #streaming
Hey folks! You might be interested in our new tutorial about broadcasting. It covers RTSP, RTMP, HLS protocols, and how to convert a stream of one protocol to another. Check it out: https://t.co/ejCp7i6txp
#MyElixirStatus
We are continuing the work on our Video Compositor. We finished doing research and creating initial prototypes and have decided on using wgpu. Why did we decide to to use wgpu instead of FFmpeg filtergraph? Check out this demo to find out!
#MyElixirStatus#wgpu#rustlang