1px ist in einem Browser nicht unbedingt 1px. Es gibt da den
devicePixelRatio, der vom OS/HDPI zoom level, und manchmal auch vom
Browser zoom beeinflusst wird: https://jsfiddle.net/4vpbdrty/3/
Bei einem Canvas kann man oft einfach mit höherer Auflösung Rendern. Bei
Bildern, Videos, und allem anderen, findet man sich am besten einfach
damit ab, das die Bilder, Videos, und alles andere auch, halt etwas mehr
Pixel beinhalten, als der Browser behauptet, statt zu versuchen, die zu
schrumpfen. Oft kann man auch die Grösse von Bilder und Videos einfach
statt in px so angeben, dass es gut ins layout passt, und dann den
Browser ein paar grössen zur Auswahl geben, siehe dafür auch den <
picture > tag, sowie die sizes & srcset attribute bei < img > & < source
>.