Xin chào các bạn, tôi muốn truyền phát video từ Azure blob của mình qua ứng dụng web ASP.NET MVC tới người dùng trên trình duyệt trên máy tính để bàn và tất nhiên là trình duyệt trên thiết bị di động.MVC Phát trực tuyến video tới trình duyệt web di động
Những gì tôi có cho đến nay là một Ứng dụng ASP.NET MVC phục vụ trang web và dịch vụ WebApi sẽ PushStreamContent. Điều này hoạt động tuyệt vời trên Chrome và Edge trên máy tính để bàn. Nhưng wen tôi cố gắng để mở nó trên một thiết bị di động Chrome, Safari, Firefox nó sẽ không chơi.
My Mã cho đến nay:
Quan điểm về dự án MVC
<video id="vPlayer" class="video-js" autoplay controls playsinline preload="auto" data-setup='{"fluid": true}'poster="@ImgManager.GetVideoImgUrl(Model.ThumbnailUrl)">
<source src="//xyz.nl/api/Videos/Get?filename=340a85a3-ccea-4a2a-bab6-74def07e416c.webm&type=video%2Fwebm" type="video/webm">
<source src="//xyz.nl/api/Videos/Get?filename=340a85a3-ccea-4a2a-bab6-74def07e416c.mp4&type=video%2Fmp4" type="video/mp4">
Các WebAPI
public HttpResponseMessage Get(string filename, string type)
{
var video = new VideoStream(filename);
var response = Request.CreateResponse();
response.Content = new PushStreamContent(video.WriteToStream, new MediaTypeHeaderValue(type));
return response;
}
Helper trên WebAPI
public class VideoStream
{
private readonly string _filename;
public VideoStream(string fileName)
{
_filename = fileName;
}
public async Task WriteToStream(Stream outputStream, HttpContent content, TransportContext context)
{
try
{
var storage = new AzureMainStorage("avideo");
byte[] file = await storage.GetFileAsync(_filename);
var buffer = new byte[65536];
using (var video = new MemoryStream(file))
{
var length = (int)video.Length;
var bytesRead = 1;
while (length > 0 && bytesRead > 0)
{
bytesRead = video.Read(buffer, 0, Math.Min(length, buffer.Length));
await outputStream.WriteAsync(buffer, 0, bytesRead);
length -= bytesRead;
}
}
}
catch (HttpException ex)
{
Utilities.LogErrorToDb(ex);
return;
}
finally
{
outputStream.Close();
}
}
}
}
Ngoài ra kiểm tra liên kết hữu ích này: http://stackoverflow.com/questions/39834714/video-not-playing-on-ios10-chrome? answerertab = cũ nhất # tab-top –