It looks like it is downsampling the video or streaming after converting to another codec. Some codecs are fine for decoding on the server but the app may not support them so the server converts them. Some files are of higher quality than what the server is configured to deliver so it downsamples to stream it.
Check the configuration and look for anything to do with codecs, hardware decoding, streaming quality, and so on. It may also be on the app, so if you can access a different interface then test that to narrow down the issue.
I don’t know about videos but having a look at the OSI model is a good way to start. It covers the abstract framework for packetizing data including things like the distinction between hardware and software, envelope, encryption, application layer stuff, the whole shebang. The cool thing is by going hardware, network, application you can see where responsibility are and it helps you understand where things can go wrong.
If you are interested there are plenty of CCNA style courses available on the internet, licit and otherwise, and they go into more depth, and the same applies to RHCE/RHCSA material. The training for certifications like that covers what you want to know but also puts it in context, and again licit and otherwise sources are available.