2024-03-06, 08:59 PM
I think you're confused on what transcoding is and why it's needed.
Digital media codecs (be it for video, audio, images, etc.) are a set of standards and instructions on how to build, hold, and play said media. As more newer codecs are invented, software that plays media (clients) need to have developers add updates to tell the media player how to read (decode) an encoded stream. Clients are capable of direct playing things using the CPU as long as developers give it code that understands how to natively read the codec.
GPUs (for HWA) on the other hand, have support for codecs added or removed physically. It's up to the GPU makers to implement support for any codec type. From my understanding, you can't code your way to allow a GPU to direct play a codec that the manufactuers didn't implement physically.
Think about this analogy:
Let's say I only speak Spanish and you only speak English. We're going to need a translator to "transcode" between the two of us so we can talk to each other. We're never going to direct play ("talk") to each other without the translator until one of us learns the opposite language.
I remember writing a post similar to this that might help clear up your question: https://forum.jellyfin.org/t-unsure-abou...62#pid3762
Also, Handbrake lets you add a folder and it will load all video files in all the subfolders within it. You can then add all the videos to be encoded in one go. Just let your computer run until all the videos have been encoded. There's even programs online that lets you automate media being sent to Handbrake and the final encode stored in a sorted location.
Digital media codecs (be it for video, audio, images, etc.) are a set of standards and instructions on how to build, hold, and play said media. As more newer codecs are invented, software that plays media (clients) need to have developers add updates to tell the media player how to read (decode) an encoded stream. Clients are capable of direct playing things using the CPU as long as developers give it code that understands how to natively read the codec.
GPUs (for HWA) on the other hand, have support for codecs added or removed physically. It's up to the GPU makers to implement support for any codec type. From my understanding, you can't code your way to allow a GPU to direct play a codec that the manufactuers didn't implement physically.
Think about this analogy:
Let's say I only speak Spanish and you only speak English. We're going to need a translator to "transcode" between the two of us so we can talk to each other. We're never going to direct play ("talk") to each other without the translator until one of us learns the opposite language.
I remember writing a post similar to this that might help clear up your question: https://forum.jellyfin.org/t-unsure-abou...62#pid3762
Also, Handbrake lets you add a folder and it will load all video files in all the subfolders within it. You can then add all the videos to be encoded in one go. Just let your computer run until all the videos have been encoded. There's even programs online that lets you automate media being sent to Handbrake and the final encode stored in a sorted location.