Лучший способ перенаправить видеопоток в видеоплеер (например, видеоплеер HTML5) - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь использовать 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");
             }

Похоже, что этот перенаправляет видео без буферизации.

Я довольно новичок в базовом API asp.net, я не уверен, какой предпочтительный подход, или, возможно, я не правильно использую доступные инструменты.

Для меня самое важное - самая быстрая потоковая передача (как можно меньше стартовой задержки).

...