17 comments

[ 4.5 ms ] story [ 50.4 ms ] thread
This link is useless, it just links to a substack article with a basic single-paragraph description of the project. A better link would be https://github.com/bluenviron/mediamtx, the actual URL to the project.
> This link is useless, it just links to a substack article with a basic single-paragraph description of the project.

In general, I too prefer a straight link to the repo. But in this particular case, that's literally the first thing in the post, which does an excellent job of summarizing what it's about and is immediately followed by a lengthy interview with the author.

The interview with the author does have more wide-reaching implications than any one project.

How many other highly proficient developers have the experience to state:

>What’s your most controversial programming opinion?

>>I’ll answer by considering the reaction of my colleagues that followed the opinion

>>Personally, I don’t like class inheritance, a concept that is present in most programming languages.

The voice of someone who needs to get more out of his code.

I use MediaMTX. It’s great. Streaming to ~200 clients flawlessly. The only thing I wish it had was some basic webhook functionality to notify stream statuses.
> supporting Apple devices is always a challenge

> I spent an entire day to find out why a video stream... was causing a blank screen on Chrome

WebRTC has three implementations: Chrome's libwebrtc, Mobile Safari's libwebrtc, and things that don't work.

I understand Alessandro's frustrations: Video standards aren't.

If Google’s WebRTC implementation is the only one that works how does anything WebRTC work? The majority of WebRTC media calls aren’t P2P.

What does Google WebRTC do that you can’t find anywhere else? What do you think would be better then the video standards we have today?

rstp-simple-server is fantastic, I use it for all kinds of stuff and appreciate how easy it is to deploy. More software should eschew having a million dependencies and focus on doing one thing WELL :)
I'm a programmer that doesn't really understand anything about media streaming. What is a good use case for this project? I can't decipher it from the description. It can read and publish media streams. What does that do?
I have used MediaMTX to proxy IP camera feeds to custom web pages.

IP cameras generally stream through the Real time Streaming Protocol (RTSP). This cannot be directly played in the web and also requires authentication in most cases.

MediaMTX acts as a proxy to convert RTSP→WebRTC and take care of the authentication.

Thanks - that alone is a good example to help illustrate what it can do, appreciate it!
mediamtx has 50 dependencies...
Presumably it means no runtime dependencies? A lot of media software requires you to have a bunch of libraries installed via system package manager, so I’m guessing this is intending to contrast with that?
Would this be a usable alternative to Plex’s Watch Together? Could I host a live stream of a movie and have friends watch it in sync?
If you can get the file to your friend, you'd be better off using syncplay. Basically, you watch the file natively in your own player like mpv, vlc, etc. and syncplay will manage syncing all of your pauses, seeks, etc.
FYI until recently this was known as 'rtsp-simple-server', but it outgrew simply being a RTSP server so it was rebranded. It is commonly used in the 3D printing community for serving webcams attached to printers along with ustreamer (https://github.com/pikvm/ustreamer).