gpt4 book ai didi

asp.net-core - 将视频从 .NET Core 流式传输到 Safari

转载 作者:行者123 更新时间:2023-12-03 23:06:41 27 4
gpt4 key购买 nike

流在除 Safari 之外的所有浏览器中都运行良好。据我所知,请求应该支持范围 header 。

这是我正在使用的代码:

    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 字节保存到文件中。

也尝试了 的变体控制静音 playinline preload="metadata" type="video/mp4"

最佳答案

我认为对于合法的“范围”响应,您需要返回状态代码“206 部分内容”
咱们试试吧:

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);

HttpContext.Response.StatusCode = 206;

return File(stream, "video/mp4", true);
}

关于asp.net-core - 将视频从 .NET Core 流式传输到 Safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62146056/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com