FFmpeg merges WebRTC support

  • I am so incredibly excited for WebRTC broadcasting. I wrote up some reasons in the Broadcast Box[0] README and the OBS PR [1]

    Now that GStreamer, OBS and FFmpeg all have WHIP support we finally have a ubiquitous protocol for video broadcasting for all platforms (Mobile, Web, Embedded, Broadcasting Software etc...)

    I have been working on Open Source + WebRTC Broadcasting for years now. This is a huge milestone :)

    [0] https://github.com/Glimesh/broadcast-box?tab=readme-ov-file#...

    [1] https://github.com/obsproject/obs-studio/pull/7926

  • Not the SCTP parts! It's implementing WebRTC-HTTP Ingestion Protocol (WHIP), a commonly used low-latency HTTP protocol for talking to a gateway that talks actual WebRTC to peers over WebRTC's SCTP-based protocol. https://www.ietf.org/archive/id/draft-ietf-wish-whip-01.html

    I hope some day we can switch to a QUIC or WebTransport based p2p protocol, rather than use SCTP. QUIC does the SCTP job very well atop existing UDP, rather than add such wild complexity & variance. One candidate, Media-over-Quic ?MoQ), but the browser doesn't have a p2p quic & progress on that stalled out years ago. https://quic.video/ https://datatracker.ietf.org/group/moq/about/

  • What does this mean? That websites could connect directly to an FFmpeg instance and receive an audio- and/or video-stream?

    Phoronix has a somewhat more informative page: https://www.phoronix.com/news/FFmpeg-Lands-WHIP-Muxer

  • That should make self hosting streams/streaming CDNs way easier.

    If you know how to use it ffmpeg is such an amazing stand alone/plug and play piece of media software.

  • Gajim, the XMPP client, has been awaiting this for a long time! Their Audio/Video calling features fell into deprecation, and they've been patiently waiting for FFmpeg to make it much easier for them to add Audio/Video calling features back again.

  • I love seeing the Anubis graphics unexpectedly. I’ve seen it at ffmpeg and gnu so far (among others)

  • Hopefully this doesn't make it more dangerous to keep ffmpeg on our systems. WebRTC security flaws are responsible for a lot of compromises. It's one of the first things I disable after installing a browser

  • OMG YEEEEES. I'm building web based remote control and if this allows me to do ffmpeg gdigrab, have that become a WebRTC stream and be consumed by a client without the ExpressJS gymnastics I do right now, I'll be over the moon.

  • Interesting I keep getting blocked by the bot detection on iOS safari, both from our work WiFi and cellular data.

    Anubis let me go

  • Anubis isn’t letting me through ;(

  • A commit that was "co-authored-by" 6+ people and has three thousand lines of code: this is a total wreck of a development workflow. This feature should have been implemented with a series of about 20 patches. Awful.

  • OMG, this is not completely brain damaged c++ code lost in the middle of one of the web engines from the whatng cartel??? or C code with one billion dependencies with absurd SDKs???

    Quick! Quick! I need to find something bad about it... wait... AH!

    Does it compile with the latest libressl? Hopefully not (like python _ssl.c) and I can start talking bad about it.

    ;P

    Ofc, that was irony.

    We all know the main issue with webRTC is not its implementations, but webRTC itlself.

    All that said, it is exactly at this very time twitch.tv chose to break ffmpeg HLS (its current beta HLS streams are completely breaking ffmpeg HLS support...).

  • Does this mean that ffmpeg now can record a Jitsi video meeting audio stream?

  • What’s ffmpeg security auditing like? Seems reactive from their site.

  • I can't wait to see this in Jellyfin implemented!

  • Anyone been able to successfully build ffmpeg from source to include whip support? Struggling to figure out the right ./configure options

  • Can someone ELI5 what this means? i've been using ffmpeg for over a decade.

  • Does it allow more realtime streaming than SRT on LAN?

    I'm still waiting for ffmpeg CLI tool to merge pipewire + xdg-desktop-portal support. You still can't record a screen or window on Wayland with it.

  • I have a beginner question - Can WebRTC be used as an alternative to sending base64-encoded images to a backend server for image processing? Is this approach recommended?

  • Why doesn’t a PR of that magnitude come with tests?

  • Using Pion no less! very cool!

  • The author seems to be an undergraduate from china. very impressive!

  • so RTC is real time communication, not real time clock...

  • "Sadly, you must enable JavaScript to get past this challenge."

    Nope. Get lost. Running random code from websites you don't know is asking for desaster.

  • Absolutely huge

  • It would be cool to have a chat too

  • Public Service Announcement: There's a reddit topic for WebRTC, that doesn't get enough action imo! Get in there ya'll...

    https://www.reddit.com/r/WebRTC

  • I know there are JavaScript ports of FFmpeg and I would love to use them. But so far, I never got it working. I tried it with AI and this prompt:

        Make a simple example of speeding up an mp4
        video in the browser using a version of ffmpeg
        that runs in the browser. Don't use any server
        side tech like node. Make it a single html file.
    
    But so far every LLM I tried failed to come up with a working solution.