2012-10-13 14 views
5

Sto utilizzando ASP.NET MVC 4 per un sito Web. Il sito gestisce eventi online per il nostro gruppo e offre agli utenti registrati l'accesso a materiali online, archivi di eventi web e video didattici. Ho creato un sistema per caricare e gestire i video, ora ho bisogno di creare le azioni del controller per inviare i file video alla pagina web. Stiamo usando VideoJS come spettatore e sono abbastanza felice con questo in questo momento. Abbiamo bisogno di mantenere la sicurezza sui file in modo tale che il fatto che i file si trovino in una posizione sul server Web non sembra funzionare per noi.MVC ActionResult per file video di grandi dimensioni

La mia domanda principale è quale sia un buon metodo per restituire i file al visualizzatore? Sono abituato a utilizzare le classi ActionResult e JSONResult, ma non sembrano proprio adatti ai file video. I file possono essere MOLTO grandi, a volte fino a un GB o più. Vedo la classe MVR FileResult, la classe FileStreamResult e la classe FileContentResult. Quale dovrei usare e quali altre considerazioni dovrei pensare quando costruisco questo?

Apprezzo il vostro aiuto.

Doug

+0

eventuali progressi su questo? – Kevkong

+0

Buona domanda. Potresti trovare questi approcci utili: http://mediastreamingmvc.codeplex.com/ http://mvcresumingactions.codeplex.com/ http://dotnetslackers.com/articles/aspnet/Range-Specific-Requests-in-ASP -NET.aspx – acarlon

risposta

0

Tu certamente non inviare l'intero video come risposta allo spettatore, come sarebbero in attesa intorno per un bel po 'che il download. Hai bisogno di trasmetterlo a loro. Immagino che avresti bisogno di una sorta di flusso di byte che viene restituito dal controller.

C'è una ragione che pone come YouTube offrire i loro video tramite Flash - perché la qualità e la velocità può essere controllato facilmente, e offre una certa quantità di protezione dalla copia (anche se non è infallibile). Ho appena fatto una rapida ricerca su Google, ed ho trovato questo:

http://www.longtailvideo.com/jw-player/download/

potrebbe essere utile, ma non posso garantire per esso personalmente!

A quanto pare, Razor offre il proprio manipolazione di file video, che potreste trovare utili:

http://www.asp.net/web-pages/tutorials/files,-images,-and-media/10-working-with-video

Inoltre, HTML5 supporta lo streaming video (che sono sicuro che tu sapessi come VideoJS lo usa):

http://www.w3schools.com/html/html5_video.asp

Problemi correlati