Hello Plex Team,
I hope this message finds you well. I’m reaching out to discuss a crucial aspect of the transcoding process for downloads on Plex servers. Presently, when a user initiates a download, the entire file is transcoded before being sent. This process, while straightforward, can significantly tax server resources, particularly for setups with limited RAM.
In my case, I utilize RAM as the transcode folder, with a 16GB capacity. This configuration is highly effective for streaming, thanks to your innovative system that dynamically transcodes and deletes content to prevent disk saturation. However, this efficient mechanism is not replicated for download transcoding.
The primary issue arises when the transcode folder becomes full due to the download transcode file. In such instances, the transcoding process abruptly crashes. The partially transcoded file remains in /dev/shm, effectively filling up the RAM. This situation leads to a complete halt in transcoding capabilities, both for streaming and future downloads, until the RAM is manually cleared (typically by rebooting the server).
To address this, I suggest implementing a dynamic transcoding system for downloads similar to the one used for streaming. Such a system would transcode a segment of the media, send it to the user, and then proceed with the rest, thereby avoiding overwhelming the transcode directory.
This enhancement would not only prevent crashes and server downtime but also ensure a smoother and more reliable experience for all Plex users. I believe that integrating this feature would be a significant improvement to the Plex service.
Thank you for considering this suggestion. Your attention to this matter is greatly appreciated.
Best regards,
Pomme
EDIT : screenshots of the logs showing that it happened

Here’s the half-transcoded file that filled up my RAM :

My friend’s phone kept trying to download this media everytime my friend launched the Plex app, leading to my RAM getting full randomly a lot of time per weeks, leading to every other friends getting an error message when trying to transcode something until I rebooted the server and I couldn’t figure it out for weeks lol