Прочитать и отправить файл mp4 из в C#

Я использую следующий код для чтения файла mp4 с сервера и отправки его по http. Моя серверная часть - это контроллер mvc4. Забавно то, что видео отлично воспроизводится в Chrome. Но я ничего не получаю на устройствах ios, так что я думаю, что это может быть проблемой заголовка потока ответа. Что-то, что мне не хватает?

        var stream = new FileStream(path, FileMode.Open, FileAccess.Read);
        var result = new HttpResponseMessage(HttpStatusCode.OK)
        {
            Content = new StreamContent(stream)
        };
        result.Content.Headers.ContentType = new MediaTypeHeaderValue("video/mp4");
        result.Content.Headers.ContentRange = new ContentRangeHeaderValue(0, stream.Length);
        result.Content.Headers.Add("filename", fileName);
        return result;

Это заголовок ответа, если он дает какие-либо подсказки:

Cache-Control:no-cache
Content-Length:2236480
Content-Range:bytes 0-2236480/*
Content-Type:video/mp4
Date:Fri, 24 May 2013 14:39:11 GMT
Expires:-1
filename:3.mp4
Pragma:no-cache
Server:Microsoft-IIS/7.5
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET

1 ответ

Я считаю, что это проблема с кодировщиком на устройствах iOS. Устройства iOS iPhone из того, что я знаю, использует кодировку H.264 mp4. Вы должны попробовать кодирование базового уровня 3 для видео. Вы можете найти больше информации здесь.

Другие вопросы по тегам