FFmpeg is ubiquitous

FFmpeg is ubiquitous

You may already know that the FFmpeg is used by ChromiumFirefox, and VLC, to name a few. A couple of days ago, a friend of mine pointed me to a homebrew project that was willing to provide basic PC Gaming to Nintendo Switch streaming capabilities.

I went after to understand how it works, and to my surprise, it was done by using FFmpeg on both ends.

On the client-side, aka your machine, it starts an FFmpeg instance, grabs the "desktop" as its input, and then it sends the raw h264 through a TCP connection to the Nintendo Switch, but the audio was being sent over UDP though.

small chunk of ffmpeg source code

And on the server-side, aka the Nintendo Switch, it uses FFmpeg to decode, and SDL to render the frames.

No alt text provided for this image

Still, some days ago, @Matthew McClure posted an article, teaching how to do live streaming directly from your browser, and what was used to accomplish the task? Yes, it was FFmpeg.

No alt text provided for this image

I'm still perplexed by the versatility of this incredible tool, you can do pretty much anything related to media. For sure, it also relies strongly on many libs such as, codecs like x264, measurements tools like VMAF among others.

I'll leave some links down below, so you can explore this amazing command line/library/converter/everything related to media.

visual cue about adaptive bit rate video type
https://developers.google.com/media/vp9/live-encoding#example_adaptive_bitrate_set
Iman badaui

Back-end Software Engineer

1mo

Thank you, Leandro, for the article. I came across your exceptional FFMPEG tutorial on GitHub while searching for tutorials. It has been incredibly helpful. It would be greatly appreciated if you could also provide further insights into FFMPEG with audio streams.

To view or add a comment, sign in

Insights from the community

Others also viewed

Explore topics