Some of you might be wondering what DLNA means. DLNA stands for Digital Living Network Alliance. The official information can be found on Wikipedia, but it is rather cryptic, so I'll try and explain it to you in layman’s terms.



DLNA can be used in a lot of scenarios, but the classic one is having a Smart TV that supports this service instead of the classic Samba Shared folders. It's a frustrating but theoretically great idea.
Why? Because there are a lot of audio/video containers (AVI, MKV) and even more audio (mp3, AAC, AC3, Vorbis etc.) or video codecs (xvid/divx, H.256, H.265, Theora, VP etc.). Add to that the fact that there can be a lot of different bitrates (audio/video quality) and resolutions.
So we have a lot of variables of the file we need to play on TV. Other variables are the kind of formats the TV can play. Some models are limited by software licenses, others by design or simply by price and age.
My older Panasonic has support only for DivX/Xvid, not for the now-standard H.264 format, but my newer LG can play almost anything, but does not like streaming from the MKV container.
You need something to bring some order into this mess, the DLNA server is the way to do it When your client (TV) accesses the DLNA Server, it will report what kind of formats it can accept.
Now, there are two possible situations:
1. The video file is directly compatible with the TV specifications, so the server will offer the file as Direct Play.
This is the ideal scenario, as you do not need a lot of processing power, even an old computer or an ARM NAS can do it.
2. The video file is not compatible with the TV specifications, so the DLNA server must "transcode" the file.
This means that it needs to convert the video on the fly and serve it to the client. For this, you need a lot of processing power, proportional with the quality of the video file. A full HD or 4K movie will require a very powerful processor. If the server cannot transcode the file, you will get an error.
DLNA Servers There are a few DLNA servers you can use, but you must know something important before you make a decision: DLNA can be used only on your local network (LAN)! You cannot access DLNA from another LAN or from the Internet.
Some DLNA servers are smarter and can stream over the Internet if you can install their software on the client. Here are some examples:
1. Plex - It is by far the best option and it is free. Yet you need a Plex account for it.
It has four components: Server, Web App (browser), client Apps (e.g. iOS, Smart TV, Android, DLNA etc). Some client apps are not free (e.g. iOS).
Plex server can be installed on many platforms: Windows, Mac OS X, Linux, FreeBSD, NAS (Synology, Thecus, Intel, Qnap, unRAID etc).
2. Serviio - It can be used as a trial (for 15 days) and can stream via Internet, but it boasts no dedicated client apps. It's Java-based and I had some problems with it.
3. Video Station - It is available only for Synology or Xpenology. Its main advantage is that it can use hardware acceleration for transcoding, on some Synology systems and the client Apps for mobile are free.
4. UMS (Universal Media Server, e.g. PS3 Media server) - It's free and easy to setup, but it is also Java-based and needs more resources than a native application does.
5. Twonky and miniDLNA - They are used especially on low processing power machines (NAS).
DLNA and subtitles Subtitles are another big problem because the DLNA standard does not say anything about them. Some TV manufacturers have support for subtitles (e.g. LG or Samsung), but others seem to reject them (suspected piracy grounds), among which Sony, Panasonic, Sharp etc.
If your TV does not support external subtitles, the only option is to "burn" them on the movie and use transcoding; but I repeat, this can be done only on powerful processors (PC).