Preface
I have written relatively few articles about Emby, mainly because I don't really feel there's anything worth writing about, it doesn't have much technical content, and there are already a ton of introductory tutorials online.
However, since I just finished wrapping up the massive data migration after purchasing new hard drives yesterday, I am finally in the mood to optimize the slow poster wall loading issue in the demo site's media library (previously, due to lack of space, some resources were stored on different Synology NAS units that were usually powered off. Now, except for Western movies, all resources are centralized on my QNAP NAS TS453Bmini and run 24/7, which finally gives me room for optimization).
Writing only about optimization would make the article too short, and I need to pad the word count. So, I'll take this opportunity to briefly summarize some of the so-called "advanced" features I've found useful while using emby. It's certainly not exhaustive, and I'll slowly add new features as I think of them in the future.
Improve poster wall image loading speed
When setting up the emby demo server, for convenience, I installed my emby server directly on a Win11 virtual machine. Then, I mapped all the NAS shared folders containing the media resources as network drives on the Win11 VM, and added the media libraries using these network drives as paths:

Although the emby demo server is usable, I often encounter situations where opening a media library takes 10 seconds or even longer for the cover images to appear... This is because the hard drives on my NAS go into sleep mode when no one is accessing them, and normally, the cover image for each media resource is stored directly inside its respective folder:

Therefore, when opening the media library and reading the cover images of the media resources, the sleeping hard drives on the NAS where the resources are located must be woken up first, which easily takes over 10 seconds...
The cause of this issue is that I had checked the following option in the emby media library:

So, if the emby server and the media resources are not on the same device but are accessed via network mounting (including mounting various cloud drives directly to emby), and you also experience slow poster cover loading like I did, it is recommended to configure the options as follows:

If you previously checked the "Save artwork into media folders" option and then unchecked it, you need to check "Replace existing images" in "Refresh metadata" and refresh for it to take effect:

You can check the refresh effect under the path:Emby-Server\programdata\metadata\libraryFor example, since my emby demo server is installed on a Win11 virtual machine, the installation path is as follows:
C:\Users\username\AppData\Roaming\Emby-Server\programdata\metadata\library:

During the refresh, you can see the modified folders in this directory. Clicking into any folder will show the images currently being refreshed (actor avatars, cover images, etc.).
Note: If you have a lot of resources, this will take a long time, so please be prepared.
Resolve scraping issues with the tmdb plugin in emby
Reasons why the tmdb plugin cannot scrape normally
Actually, the scraping recognition rate of the tmdb plugin on emby is extremely high. Whether it's movies, anime, or TV shows, my recognition rate is over 99%, requiring almost no manual intervention:

However, for well-known reasons, this plugin cannot be used normally under standard domestic network environments. The root cause is DNS pollution. This is the most common treatment for foreign websites whose threat level is neither too high nor too low. The specific method is to provide incorrect resolution results for the domain on all domestic DNS servers. But since the threat level is not high, other more extreme measures (such as target IP blocking, SNI blocking, etc.) have not been implemented for now. In other words, as long as DNS pollution is resolved and the correct IP address for tmdb is obtained, followed by some minor operations on the host machine where the emby server is located, normal communication can be restored.
In fact, using TMM (TinyMediaManager) also requires solving this problem. However, besides scraping, TMM has other functions like renaming and moving files. So, for those who do not need to rename or move files, as long as the DNS pollution issue is resolved, you can use the tmdb plugin normally for scraping.
Domains used by the tmdb plugin
For the tmdb plugin to work properly, two domains need to obtain correct resolution results:
api.themoviedb.org
This domain is required when using the tmdb plugin to scrape metadata for media resources. If the media library type is "Movies", you need to confirm that "TheMovieDb" is selected as the "Movie Metadata Downloader" in the media library, as shown below:

Similarly, if the media library type is "TV Shows", you need to confirm that "TheMovieDb" is selected as the "TV Show Metadata Downloader".
image.tmdb.org
This domain is required when using the tmdb plugin to fetch image-related data such as cover art and banners for media resources. If the media library type is "Movies", you need to confirm that "TheMovieDb" is selected as the "Movie Image Fetcher" in the media library, as shown below:

Similarly, if the media library type is "TV Shows", you need to confirm that "TheMovieDb" is selected as the "TV Show Image Fetcher". Unlike "Movies", the TV Show type also has "Season Image Fetcher" and "Episode Image Fetcher", and the selection method is the same.
Note 1: Actually, the "Image Fetcher" does not necessarily have to be "TheMovieDB"; "FanArt" is also fine. Moreover, the domain "fanart.tv" corresponding to "FanArt" does not seem to be DNS polluted at the moment and can be accessed directly, and its image quality and cleanliness are better than tmdb.
Note 2: If you use other similar plugins, the principle is the same. If they do not work properly, try troubleshooting by checking whether the domains the plugin needs to access can be resolved and accessed normally.
Without a VPN or proxy environment
This is likely the scenario for the vast majority of emby users in China. In this case, you need to perform the following two steps to resolve the issue.
Obtain the correct resolution results for the relevant domains
Since domestic DNS servers are untrustworthy, if you want to obtain the correct resolution results for the above two domains, you need a method that "does not rely on a VPN or proxy". Generally, this is solved by using foreign domain query websites that are currently accessible. Below, I will introduce two query websites that are currently working normally (no guarantee on how long they will remain available, as that is out of my control).
Note: Most modern websites use CDN technology, though they might use CDNs from different providers (CloudFlare, Amazon, etc.). After using a CDN (which employs IP anycast), due to the proximity routing principle, the resolved IPs from different locations are very likely to be different, and different DNS query websites may also yield different results. The only criterion is whether it works.
https://dnschecker.org/


According to the method in the image above, the relevant domain resolution results are as follows:
api.themoviedb.org. 60 IN A 13.226.225.44
api.themoviedb.org. 60 IN A 13.226.225.4
api.themoviedb.org. 60 IN A 13.226.225.73
api.themoviedb.org. 60 IN A 13.226.225.52
image.tmdb.org. 29 IN CNAME tmdb-image-prod.b-cdn.net.
tmdb-image-prod.b-cdn.net. 4 IN A 169.150.249.164
https://www.ipaddress.com/



According to the method in the image above, the relevant domain resolution results are as follows:
api IN A 52.85.151.18
api IN A 52.85.151.24
api IN A 52.85.151.28
api IN A 52.85.151.48
image IN A 185.93.1.243
api IN A 52.85.151.24
Configure domain resolution based on your own environment
Modify the hosts file on the host machine where the emby server is located
api IN A 52.85.151.28
Note: Some devices have a protection mechanism for the hosts file, such as QNAP. Every time you restart, the modified hosts file will restore to its default value. Therefore, if you modify the hosts file on this type of device, you need to modify the hosts file again after each restart or use a startup script to modify it automatically.
Configure settings on the router
In addition to directly modifying the hosts file of the Emby server host, you can also make relevant settings on the router. Taking the iKuai router as an example, you can use the "DNS Reverse Proxy" function:

Fill in the domain name that needs to be resolved and the resolved IP address as shown in the figure below, and then save it.

Add image.tmdb.org in the same way. The final completed addition is shown in the figure below:

Note 1:
To use this function, it is recommended to enable iKuai's DNS proxy server and forced client DNS proxy function;
Under DNS cache mode, the reverse proxy takes effect; the forced proxy mode also takes effect;
If only the proxy mode is set and the forced proxy is not checked, whether it takes effect depends on the user's DNS; when the client DNS is set to the gateway address, the reverse proxy takes effect; when the client DNS is set to the correct DNS, it does not take effect.
Note 2:
If it is an ASUS router or an OpenWrt router, you can achieve the same function by modifying the dnsmasq file.
Note 3:
It cannot be ruled out that the IP of the relevant domain name resolution may change (after all, these addresses are originally the IP addresses of CDN providers). If you find that the TMDB plugin scraping is abnormal, you need to re-resolve the IP address and repeat the previous modification steps.
Note 4:
If at some point the domestic blockade of themoviedb escalates (in addition to DNS pollution, it also blocks IP or SNI), the above method will fail, and you can only rely on "science" or "magic" (VPN/proxy).
With a VPN or proxy environment
This scenario is very flexible: directly use foreign DNS servers, use a proxy on the host where the Emby server is located, or directly use "science" or "magic", etc., as long as you do not use domestic polluted DNS servers, which will not be discussed in detail here.
In addition, if you adopt the deployment method mentioned in my other article (see article:Soft Router Series: Discussion on the Best Deployment Scheme for iKuai + OpenWrt (Goodbye, Bypass Router)), turning the bypass router into the gateway of another WAN port of iKuai (such as WAN2), you can use iKuai's domain name routing to achieve it more easily:

Export emby media resource data
Sometimes, you may want to know exactly what movies (or TV shows) you have, as well as the key information of each movie (such as name, date added, release date, genre, rating, score, duration, recoding type, specific storage path, etc.). If you can export this information to a file, you can directly query this information in the local file when needed without logging into Emby. This relies on the "Reports" plugin.
First make sure the plugin is installed, and then click the option on the bottom right:


You can also directly enter from the advanced settings in the console:

After entering, you can see the following interface. I will take selecting the Movies type as an example:

The content seen here can all be exported. You can choose which columns to export on the right. All columns are checked by default. The exported file format supports Excel and CSV. I will take exporting an Excel (xls) file as an example:

You will get an xls file. After opening it, you can see the following content:

In addition to the common information of the movie, the Path on the far right also contains the specific storage path corresponding to the movie, which can help you quickly locate the movie's position when needed.
Poster wall cover image enhancement
The default Emby media library poster wall effect is similar to this:

The biggest problem with this is that you cannot know the resolution of the movie at a glance. What's more troublesome is that if the same movie has multiple resolution versions (for example, both 1080p and 2160p) and is not handled correctly (how to handle it correctly will be discussed in the next section), it will cause the same movie with different resolution versions to display multiple times with the same cover on the poster wall at the same time. You cannot intuitively distinguish which one is 1080p and which one is 2160p at a glance from the poster wall, and you can only click in to distinguish by viewing the media info, which is very inconvenient.
And the CoverArt plugin solves this problem:

After installing the plugin, the poster wall becomes like this:

From the new logo added in the red box above (Blu-ray is 1080p, 4K is 2160p), you can know the resolution of the movie at a glance, which is very convenient.
Note: CoverArt does not need special settings, the default settings are enough. As long as it is installed, the logo will be automatically generated. However, some previous cover scraping plugins pulled images with "Blu-ray Disc", which will cause the cover image to have two layers of logos if CoverArt is installed, as follows:

This is very ugly, so to use CoverArt, the images from the cover scraper need to be very clean. That's why I recommended Fanart earlier. If you encounter this situation, just directly scrape it again.
How to save multiple versions of the same movie simultaneously
As mentioned in the previous section, sometimes we may need to keep multiple versions of a movie at the same time (these multiple versions may have the same or different resolutions). For example, the movie "A Moment to Remember" has a 2160p TC version (theatrical cut, duration 117 minutes) and a 1080p DC version (director's cut, duration 145 minutes). If I had to choose between the two in this situation, it would be very difficult to decide. Therefore, as an adult, I don't make choices like children do, I choose both!
However, if no special processing is done, whether the 2 movies are placed in the same folder or in different folders, they will definitely appear as 2 movies with the same cover on the poster wall (if the CoverArt introduced in the previous section is not installed, you cannot even directly distinguish which one is 1080p and which one is 2160p).
In fact, Emby has a solution for this situation. Through a specific naming method, the following effect can be achieved:

This way, only one movie will appear on the poster wall, but after entering, you can choose different versions to watch.
To achieve this display effect, a specific naming method is required, as shown in the figure below:

The precautions are as follows:
The two videos need to be in the same folder.
The names of the 2 videos both consist of 2 parts (green box and red box): the part in the front green box needs to be completely consistent with the folder name; the red part identifies the different versions, consisting of " -version" (note that there must be a space before the -), which in this example is " -1080P.DC" and " -2160P.TC".
Non-feature content
In addition to the main feature, sometimes we also download other non-feature content, such as interviews, behind-the-scenes, trailers, etc. However, if this content is directly placed together with the main feature, Emby will directly identify it as a new movie, which is very difficult to handle. This made me have to give up this content with pain for a period of time (such as some photobook behind-the-scenes, which are actually quite interesting).
However, Emby actually has a corresponding solution. Just create a folder with a specific name under the corresponding movie folder, and then directly place the non-feature content under the newly created folder (nesting is not supported, and a new folder needs to be created for each type).
The folder naming rules are as follows:
extras: Extra media content filesspecials: Special shows or special editionsshorts: Short filmsscenes: Scenesfeaturettes: Featurettesbehind the scenes: behind the scenesdeleted scenes: deleted scenesinterviews: interviewstrailers: trailers
Taking Hibiscus Town as an example, it includes behind-the-scenes featurettes, and the final result is as follows:

Afterword
Actually, the basic operations of Emby are not difficult. In my opinion, the real difficulty lies in how to design a distributed architecture for storing movie and TV resources, as well as the effort spent on regularly organizing and migrating newly downloaded resources.
Fortunately, hard drive capacities are getting larger and larger now. I held out for 3 years, during which the capacity of a single hard drive increased from 14T to 22T. This time, buying four 22T drives at once, although it made my heart ache for a while, at least saves me from having to fiddle with them so frequently. I'll try to hold out for another 3 years this time and see what the capacity of a single hard drive will be by then.
Now, the four 22T hard drives have been used over 50%~~:

They really don't last long.
I used to fiddle with it like this too, but later I found I didn't have such a strong obsession with the poster wall. Now, everything I download is directly mounted on AList, haha.
I don't actually have much of an obsession with the poster wall either. It's mainly because I set up a dedicated Emby demo server, and entering a media library would result in a loading spinner spinning for ages. This definitely gives a bad experience to those who come to try it out, so I wanted to improve it as much as possible~~.