【发布时间】:2020-09-20 13:41:33
【问题描述】:
流媒体在除 Safari 之外的所有浏览器中都能正常工作。据我所知,请求应该支持范围标头。
这是我正在使用的代码:
public async Task<FileStreamResult> GetVideoStream()
{
if (Request.Headers.ContainsKey("Range"))
{
Request.Headers.TryGetValue("Range", out var range);
_httpClient.DefaultRequestHeaders.Add("Range", range.ToString());
}
var stream = await _httpClient.GetStreamAsync(_url);
return File(stream, "video/mp4", true);
}
请求:
curl --range 0-99 https://localhost:44312/GetVideoStream -o D:\test
运行良好,文件只保存了 100 字节。
也尝试了 controls muted playinline preload="metadata" 和 type="video/mp4"
的变体【问题讨论】:
标签: asp.net-core safari video-streaming range-header