buenas,
de entrada te comento que no lo he hecho. sin embargo, tengo una idea de algunos detalles que involucran. segun como he visto que lo hacen otros servicios similares, basicamente consta de un player que admite streaming. cuando no se usa streaming, creo que se usa expiración en la cache. es decir, cuando se sirve el archivo, mediante parametros http el servidor le indica que no debe almacenar en la cache del cliente. otros detalles que visto, es el modo en que se sirven los archivos. generalmente he visto que se sirve en POST con ciertos parametros que funciona como una firma generada entre el player y el servidor para identificar que la peticion es legitima y no realizada por el usuario indicando directamente la url.
son solo algunas ideas que recuerdo. quizas te sirva para poder afinar tus busqueda.