我正在尝试使用asp.net API 2.1重定向视频流。 我获取带有源视频流的URL,需要将其移植(API响应)到可以接收并播放它的视频播放器。
研究之后,我发现了两种选择:
1。基于MemoryStream:
public async Task<FileStreamResult> Get(string SourceVideoURL)
{
HttpClient _client = new HttpClient();
byte[] b= await _client.GetByteArrayAsync(SourceVideoURL);
var stream = new MemoryStream(b);
return new FileStreamResult(stream, "video/mp4");
}
由于似乎要使用某种缓冲区,因此加载需要一些时间。
2。基于GetStreamAsync:
public async Task<FileStreamResult> Get(string SourceVideoURL)
{
HttpClient _client = new HttpClient();
Stream stream = await _client.GetStreamAsync(SourceVideoURL);
return new FileStreamResult(stream, "video/mp4");
}
这个似乎可以不带缓冲地重定向视频。
对于asp.net核心API来说我还很陌生,我不确定首选方法是什么,或者我可能没有正确使用可用的工具。
对我来说最重要的是最快的流传输(尽可能减少启动延迟)。