I like this idea also. To add one more scenario, if I’m browsing on my phone/tablet while casting to Chromecast the transcode indicator should be set based on the Chromecast rather than the phone/tablet.
You already have this basic information available on the media info page. Where it tells you Web Optimized: Yes or No. This is a good indicator of if the media is going to need transcoding for a vast majority of the clients that are set up for the media’s bandwidth requirements.
Barring this, though, it’s hard to know one way or another if it’s going to require transcoding, because the client, by default, determines this. bandwidth settings, subtitles, hardware specs (and client app specs) are going to be the major factor. Determining this on the server without the known of the client is going to be difficult, at best. Virtually impossible at worst case. The server is only going to give you an indication of what it thinks, without knowing the specifics.
Now, having said that, it would be nice to see on the client, with the given settings what the server will do to the media to send it to the client app. This is something I would love to see, actually. Then my users can see if they are going to use up all of the bandwidth or kill the server for other people.
The client could send a file to the server with the formats it can play. This way the server knows which clients can play what files. This doesn’t seem difficult to me but then again in not a developer.
I think this should be a client side feature if implemented in some way. The server does not know about the need for transcoding until the client requests the video and, at that point, displaying that on the servers “media info” screen seems quite unnecessary.
Perhaps when a video is started the transcoding situation could be displayed on the client as the video loads.
As wi11wright mentioned it would be useful to know if a video requires transcoding when casting as well. If the data on which clients is stored server side it would make this simple as all clients would only need to comunicating with just the server.