Здравствуйте, учусь выводить видео на сайт из файла. Если брать файл целиком и передать его на страницу - он работает, видео отображается, но хотелось бы разобраться со следующим вопросом: как выводить видео не целиком, а например с середины? это может понадобится например, если видео длится 2 часа, и что бы сразу после открытия страницы пользователь мог перемотать видео на 01 час 45 минут и не ждать полной загрузки файла.
Я подобное видел на YouTube. Когда вы перематываете - пред. запрос на видео отменяется, и создается новый запрос на видео уже не с начала а с нужной минуты.
С помощью след. кода я попытался просто перескакивать на 2500000 байт вперед (видео весит 5мб в сумме), но видео не отображается.
Формат видео: mp4
public override void ExecuteResult(ControllerContext context)
{
var strVideoFilePath = HostingEnvironment.MapPath("~/Content/big_buck_bunny.mp4");
context.HttpContext.Response.ContentType = "video/mp4";
context.HttpContext.Response.AddHeader("Content-Disposition", "attachment; filename=Test2.mp4");
var objFile = new FileInfo(strVideoFilePath);
var stream = objFile.OpenRead();
int fakeLen = (int)stream.Length - 2500000;
var objBytes = new byte[fakeLen];
stream.Seek(2500000, SeekOrigin.Begin);
stream.Read(objBytes, 0, fakeLen);
context.HttpContext.Response.BinaryWrite(objBytes);
}
}