Lo que pasa es el seguiente
Ficheros de video
Un fichero mkv / mp4 / avi (etc) es como si fuera um ZIP que tiene un fichero de video, uno ó más ficheros de audio, y por veces algunos ficheros de subtitulos. En termos tecnicos, un mkv es un "containner" que incluye varias pistas, uma de video, y las otras de audio y/o subtitulos.
Por su vez, el video puede estar "comprimido" con codecs distintos (H.263, H.264, VC-1, etc), el audio tambien puede estar "comprimido" com AAC, AC3, MP3, etc, y por fin los subtitulos pueden estar en SRT, VOBSUB, etc etc
Es decir, no hay ningun estandard en el mercado.
Los media players
El "media player" mas completo, el unico que es capaz de ler todos los containers y codecs, es el PC. Todos los otros (PS3, PS4, tablet, smart phone, Roku, AppleTV, etc) solo acceptan algunos containers y algunos codecs.
Plex Media Server (PMS)
Cuando un "cliente" pide a PMS para ver un cierto video, PMS "pregunta" al cliente "quien es tu ?". PMS tiene una tabla con todos los clientes posibles que indica, para cada uno, cuales son los containers suportados, y para cada container cuales son los codecs suportados. Asi PMS compara las caracteristicas del fichero de video con el "perfil del cliente" y:
- Si el cliente suporta el container, los codecs de video y audio, y el formato de subtitulos, PMS hace un Direct Play. La ocupaccion de CPU del 214play en este caso es muy pequeña
- Si el cliente suporta los codecs de video y audio, y el formato de subtitulos, pero no suporta el container, PMS hace un Direct Stream. La ocupaccion de CPU del 214play en este caso es media, en torno de los 20-30%
- Si no, PMS hace un Transcode, es decir, recodifica la pista de video y/o audio en algo que el cliente entienda (el perfil PMS para el cliente también indica cual es el formato para lo cual PMS debe hacer las conversiones). Esta operacion necesita de mucha capacidad de CPU, tanto más cuanto el "bitrate" del video, los codec de audio, etc
El 214play no es una maquina con "capacidad infinita"... Ninguna es... Debria ser capable hacer Transcode de 720p hasto unos 3-4Mbps, pero si también es necesario hacer trancode del audio no lo sé, quizas el video estara limitado a 1-2Mbps para que el resultado final sea entendible.
Soluciones posibles
No es posible asegurar que nunca hay problemas, pero es posible implementar acciones que reduscan los problemas, por ejemplo:
- Para conectar la TV usar un mini-PC. Hoy hay mini-PC's con un coste no muy alto, por ejemplo este
- Convertir la biblioteca para algun estandard personal. Es necesario analizar los codecs aceptados por todos los "media player" y seleccionar uno que sea aceptado por todos. La conversion se hace con Handbrake, por ejemplo. Si no es posible tener un formato que sirva a todos, se convierte para un formato suportado por la TV, y se admite transcode para los otros equipos
- Cambiar el "perfil de Plex" para que el transcode se haga para bitrates mas bajos. Se pierde algo en la calidad, pero aqui estamos hablando de dispositivos que, por definicion, tienen baja calidad (tablet, smart phone, chromecast, etc)