"Somewhat" is kind of important here. In practice you can easily just test 10 or so most common router ip addresses in under 5 seconds.
And probably get a 95% hit ratio:
Well, I'm not sure about XSS, but imagine you know someone's home IP is:
192.168.1.10
Based on this, you can probably guess the router is 192.168.1.1 and maybe even have a clue about the vendor based on the IP assigning patterns.
Then you can direct them to a page with an submitting POST <form> that makes modifications to their router settings. This is more like CSRF than XSS though.
It doesn't. All major browsers block connections to 192.168.XX.XX (and any other externally unroutable IP) from external (http on the Web, not localhost) web pages.
(P2P encrypted video? Great. P2P systems in the browser driven by Javascript from any web page or ad network? Less great idea there.)