2012-10-13 15 views
5

Używam ASP.NET MVC 4 dla strony internetowej. Witryna zarządza wydarzeniami online dla naszej grupy i zapewnia zarejestrowanym użytkownikom dostęp do materiałów online, archiwów wydarzeń internetowych i filmów instruktażowych. Zbudowałem system do przesyłania i zarządzania filmami, teraz muszę zbudować Akcje Kontrolera, aby przesłać pliki wideo na stronę internetową. Używamy VideoJS jako widza i jestem z tego całkiem zadowolony. Musimy zachować bezpieczeństwo plików, więc samo przechowywanie plików w lokalizacji na serwerze WWW nie działa dla nas.MVC ActionResult dla dużych plików wideo

Moje główne pytanie brzmi: jaka jest dobra metoda zwracania plików do przeglądarki? Jestem przyzwyczajony do używania klas ActionResult i JSONResult, ale nie wydają się odpowiednie dla plików wideo. Pliki mogą być BARDZO duże, czasami nawet do GB lub więcej. Widzę klasę MVC FileResult, klasę FileStreamResult i klasę FileContentResult. Którego powinienem użyć i jakie inne kwestie powinienem przemyśleć, kiedy to buduję?

Doceniam twoją pomoc.

Doug

+0

postęp w tej sprawie? – Kevkong

+0

Dobre pytanie. Te metody mogą być pomocne: http://mediastreamingmvc.codeplex.com/ http://motech.pl/articles/aspnet/Range-Specific-Requests-in-ASP http://motnetslackers.com/articles/aspnet/Range-Specific-Requests-in-ASP -NET.aspx – acarlon

Odpowiedz

0

z całą pewnością nie należy przesłać cały film jako odpowiedź na widza, jak będą one czekają na dobry czas na to, aby pobrać. Musisz je przesłać strumieniowo. Wyobrażam sobie, że potrzebujesz jakiegoś strumienia bajtów zwracanego przez kontroler.

Jest powód, dla którego miejsca takie jak YouTube oferują swoje filmy wideo za pośrednictwem lampy błyskowej - ponieważ jakość i szybkość mogą być łatwo kontrolowane i oferuje pewną ochronę przed kopiowaniem (choć nie jest to niezawodne). Właśnie tak szybkiego wyszukiwania Google i znalazłem to:

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

może być przydatne, ale nie mogę ręczyć za to osobiście!

Najwyraźniej Razor oferuje własną obsługę plików wideo, które mogą okazać się przydatne:

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

Również HTML5 obsługuje strumieniowanie wideo (które jestem pewien, że wiedział jak VideoJS używa go):

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

Powiązane problemy