digo con streaming con c# creo q deberia usar el sdk de windows media services
el 2do metodo involucraria al final de cuentas lo mismo pero sin haber sido probado (al menos el sdk paso los tests minimos)
seria crear un cliente servidor y enviar los contenidos via sockets o webservices.
y distribuir tu contenido a tu aplicacion cliente.
cabe mencionar que consideraras los escenarios mas comunes , como desconexion y falla de transmision.
me iria por el primero mas si vas a generar aplicaciones de streaming de paga y eso.