Я сейчас разрабатываю наилучший способ сделать следующее:
У меня есть куча видеоматериалов CCTV (файлы MP4 размером от 4 МБ до 50 МБ), которые я хочу сделать доступными через веб-портал. Моя первая мысль заключалась в том, чтобы передать файл через Web API, поэтому я нашел ссылку ниже:
http://www.strathweb.com/2013/01/asynchronously-streaming-video-with-asp-net-web-api/
После реализации примера проекта я понял, что пример основан на Web API 1, а не на Web API 2.1, который я использую. Проведя еще несколько исследований, я получил код для компиляции с помощью WebAPI 2.1. Затем я понял, что если я хочу делать потоковое вещание, я не могу использовать файлы MP4, за этим стоит немало технических деталей, поэтому вот поток:
Лучший подход к потоку HTTP в реальном времени для видеоконтента HTML5
Кажется, что для этого мне нужно закодировать файлы MP4 на что-то вроде WebM, но это займет слишком много времени. Icecast (http://icecast.org/), который является потоковым сервером, но я еще не пробовал его, снова не уверен, что это то, что я необходимо сделать.
Теперь, когда я думаю об этом, мне на самом деле не нужна прямая трансляция, мне просто нужно разрешить клиенту воспроизводить видеофайл через браузер, возможно, используя элемент видео HTML5? Дело в том, что мое приложение также должно работать на IOS, поэтому я считаю, что я не могу даже кодировать свой MP4 в FLV и просто использовать flash.
Все, что мне действительно нужно, это иметь все мои видеоклипы в виде эскизов на веб-странице, и если клиент нажимает на них, он начинает играть как можно скорее, не загружая весь файл. Подумайте о функции "Watch Trailer" на imdb.com. Просто просто играйте в видеофайл, это действительно то, что я хочу. Мне не нужна потоковая передача LIVE, для чего я думаю WebM? Опять же, не уверен.