I dont understand something....

Why dont the Plex devs include their own video player in there app so no transcoding is needed.
For example theres VLC player, MXplayer, Klite COdec ect…Even Kodi doesnt transcode anything.
Why dont they just do the same?

The point of transcoding is playing from one format to another format.

If I run VLC locally, it just runs natively on my computer and it has the proper codecs and streams built into the player and it will play whatever I run.

If I want to use VLC to stream to something else depending on the format that the remote client uses, it has to transcode it to deliver it to that client:

https://wiki.videolan.org/Transcode/

That would be the difference between playing something locally and delivering it to something else.

VLC is a ‘very smart player’.
PMS is the server for a whole bunch of players. Not all players were created equal.

Also keep in mind even if you embed a player into a “web application” that doesn’t mean it’s going to function the same as when you use said player on your network with file handles. When you open a file the player has access to the whole file. So for example VLC can interrogate the MKV or AVI you are about to play to learn about the video to know where the audio track starts, where the video track starts, the bitrates, etc.

Do this over an HTTP server and you have to support it and then need to exchange a whole lot of messages back and forth to learn about the video. Unlike an MP4 where you can grab the MOOV atom (at the start of the file) and already know about this stuff.

That’s just one little example. But there is a BIG difference between playing a file off your local machine or network then playing it via HTTP.

So the need to transcode won’t just go away! If your file isn’t in a streaming format suitable for http then it will probably still need to get transcoded.

Carlo

Thanks for the feedback, it surely cleared my foggy thoughts on “Why this, why that?”

It’s obviously much more complex than I just explained but I think that simple overview gets the point across of why embedding a different player won’t be a “holy grail” and suddenly allow you to play many more formats with different codecs.