Sto cercando di utilizzare il seguente codice per recuperare i file video da riprodurre a un utente:Problemi di riproduzione di file video utilizzando MVC FileStream
public class VideoController : Controller
{
public VideoResult GetMP4Video(string videoID)
{
if (User.Identity.IsAuthenticated)
{
string clipLocation = string.Format("{0}\\Completed\\{1}.mp4", ConfigurationManager.AppSettings["VideoLocation"].ToString(), videoID);
using (FileStream stream = new FileStream(clipLocation, FileMode.Open))
{
FileStreamResult fsResult = new FileStreamResult(stream, "video/mp4");
VideoResult result = new VideoResult(ReadFully(fsResult.FileStream), "video/mp4");
return result;
}
}
else
{
return null;
}
}
private static byte[] ReadFully(Stream input)
{
byte[] buffer = new byte[32 * 1024];
using (MemoryStream ms = new MemoryStream())
{
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
return ms.ToArray();
}
}
}
Per visualizzare al cliente che sto utilizzando supporti Elemento:
<!-- Video Player Here -->
<video width="640" height="360" poster="@Url.Content(string.Format("~/Videos/{0}_2.jpg", Model.VideoID))" controls="controls" preload="none">
<!-- MP4 for Safari, IE9, iPhone, iPad, Android, and Windows Phone 7 -->
<source type="video/mp4" src="@Url.Action("GetMP4Video", "Video", new { videoID = Model.VideoID })" />
<!-- Flash fallback for non-HTML5 browsers without JavaScript -->
<object width="320" height="240" type="application/x-shockwave-flash" data="@Url.Content("~/Scripts/ME/flashmediaelement.swf")">
<param name="movie" value="@Url.Content("~/Scripts/ME/flashmediaelement.swf")" />
<param name="flashvars" value="controls=true&[email protected]("GetMP4Video", "Video", new { videoID = Model.VideoID })" />
<!-- Image as a last resort -->
<img src="myvideo.jpg" width="320" height="240" title="No video playback capabilities" />
</object>
</video>
Il problema è che il file non sembra funzionare o almeno non coerentemente. Anche la ricerca nel video non sembra funzionare correttamente. Credo che la mia domanda sia: questo è un modo accettabile per pubblicare un video per un utente? Se sì, cosa ho sbagliato? Penso sia importante che io sia molto nuovo al video e sto imparando molto mentre continuo. Qualsiasi aiuto sarebbe apprezzato.
Ahh whata buona domanda l'uomo che sto facendo lo stesso per! un mio progetto .. non possiamo specificare direttamente il file, quindi come possiamo gestire i flussi mp4? – ppumkin